Windows Azure PowerShell Cmdlets (2.2.2版)
我们最近发布了Windows Azure PowerShell cmdlets的一个新版本,希望该版本的入门和使用cmdlets编写脚本能更加简单。
你可以从这里的CodePlex项目网站上下载该版本。
初步了解改进的功能
在2.2.2版里我们增加了一个开始菜单链接,使用已载入的Windows Azure cmdlets开创一个PowerShell session。我们还添加了Start Here链接,展示了怎样完成安装并对Windows Azure PowerShell cmdlets和该版本较之前版本所作出的改变有一个宏观了解。
订阅管理的改进
我们采取了2.2版在订阅管理上做出的改进,并使他们变得更好。
具体来说,我们向用户配置文件中增加了保存订阅设置的功能。此功能允许你只设置订阅数据一次,然后在新的脚本或PowerShell session中只需选择你想要使用的订阅而不需要每次再指定订阅ID、证书和存储账户。
代码片段一:设置订阅数据
$subid = "{subscription id}"
$cert = Get-Item cert:\CurrentUser\My\CERTTHUMBPRINTUPPERCASE
#保存订阅设置
Set-Subscription -SubscriptionName org-sub1 -Certificate $cert -SubscriptionId $subid
#设置当前使用的订阅
Select-Subscription -SubscriptionName org-sub1
使用证书和订阅ID调用Set-Subscription cmdlet。Set-Subscription将与订阅名称相关联的证书和订阅id保存到(C:\Users\{username}\AppData\Roaming\Windows Azure PowerShell Cmdlets\DefaultSubscriptionData.xml)。
此功能支持将多个订阅添加到配置中,所以你可以在同一脚本中通过使用订阅名称调用Select-Subscription单独管理每个配置。
代码片段二:设置默认的订阅
Set-Subscription -DefaultSubscription org-sub1
代码片段二演示了当没有使用Select-Subscription选择订阅时如何设置默认的订阅。
代码片段三:将存储账户与订阅联系起来
#为两个订阅保存证书和订阅id
Set-Subscription -SubscriptionName org-sub1 -StorageAccountName stname1 -StorageAccountKey mystoragekey1
Set-Subscription -SubscriptionName org-sub1 -StorageAccountName stname2 -StorageAccountKey mystoragekey2
#为订阅指定默认的存储账户
Set-Subscription -SubscriptionName org-sub1 -DefaultStorageAccount stname1
代码片段三展示了你可以将多个存储账户与单个订阅关联起来。使用正确的存储账户需要做的就是在调用需要存储账户的cmdlet之前就设置默认值。
代码片段四:指定订阅数据文件的位置
#重写默认的位置来保存订阅设置
Set-Subscription -SubscriptionName org-sub1 -Certificate $cert -SubscriptionId $subid -SubscriptionDataFile c:\mysubs.xml
#从另一个位置检索订阅列表
Get-Subscription -SubscriptionDataFile c:\mysubs.xml
每个订阅cmdlets需要一个SubscriptionDataFile参数,允许你为操作指定使用哪个XML文件。
代码片段五: MISC订阅管理 =
#返回所有保存的设置
Get-Subscription
#从保存的设置中移除mysub2
Remove-Subscription -SubscriptionName org-sub2
#从保存的订阅设置中移除一个存储账户
Set-Subscription -SubscriptionName org-sub1 -RemoveStorageAccount stname1
其他加强的可用性
我们通过允许更多可选择的、带有默认值的参数使得很多cmdlets更加简单。
- Label参数现在在New-AffinityGroup、Set-AffinityGroup、New-HostedService、New-StorageAccount、New-Deployment 和 Update-Deployment中是可选的。
- Slot参数现在在New-Deployment 和 Update-Deployment(默认使用Production slot)中是可选的。
- Name参数现在在New-Deployment(默认使用Globally Unique Identifier)中是可选的。
除了提供默认值我们还提供了一些修复程序来解除对特定情况的阻止。
- 如果在特定的slot里没有找到部署,Get-Deployment现在返回$null(在先前的版本中抛出一个错误)。
- Package 和 –Configuration参数现在在New-Deployment 和 Update-Deployment里接受通用命名约定(UNC)路径。
突破性的改变
这些可用性的提高确实需要一些牺牲。在下载最新的版本之前请查看下面的列表,因为我们有几个突破性的改变。
- DefaultStorageAccountName 和 –DefaultStorageAccountKey参数已被从Set-Subscription中移除。改为,当向一个订阅中添加多个账户时,每个订阅需要添加-StorageAccountName 和 -StorageAccountKey 或 –ConnectionString。为了设置一个默认的存储账户,使用Set-Subscription –DefaultStorageAccount {account name}。
- 在Set-Subscription 中SubscriptionName现在是强制性的。
- 在先前的版本中,订阅数据在不同的PowerShell session中是不能持续的。当从管理门户中下载的publishsettings文件中导入订阅设置,Import-Subscription cmdlet选择性地将订阅信息保存到文件中,尔后能够使用Set-Subscription恢复。这种性能被改变了。现在导入的订阅数据总是与订阅数据文件一致并且在随后的session中立即可用。Set-Subscription能被用来更新这些订阅设置或创建额外的订阅数据集。
- 在Add-Certificate中将-CertificateToDeploy参数重新命名为-CertToDeploy。
- 在所有Storage Service cmdlets中将-ServiceName参数重新命名为-StorageAccountName(为了实现向后兼容性将“ServiceName”作为一个参数别名添加)。
总结
在2.2.2版本中我们做了一些修正例如接受UNC路径,修复了Get-Deployment在空的slot上抛出错误的缺陷。我们也大大地改善了入门体验,怎样从PowerShell中管理你的Windows Azure订阅。
在这里下载新版本。
Comments
Anonymous
February 23, 2014
the codeplex link to 2.2 is broken, how can we obtain the updated traffic manager cmdlets?Anonymous
February 23, 2014
the codeplex link to 2.2 is broken, how can we obtain the updated traffic manager cmdlets?