2017/10/13 (現地時間) に Azure PowerShell for AzureStack v1.2.11 がリリースされました。
現時点で確認する限りでは、PowerShell Gallery からのみのようです。
- PowerShell Gallery | AzureStack 1.2.11
https://www.powershellgallery.com/packages/AzureStack/1.2.11
AzureStack モジュールをインストールすると、合わせて以下のモジュールもインストールされます。
- AzureRM.Profile (v3.4.1)
- AzureRM.AzureStackAdmin (v0.11.1)
- AzureRM.AzureStackStorage (v0.10.9)
Azure PowerShell for AzureStack v1.2.11 について (意訳)
このリリースにおける変更点
- 新しい AzureRm.Profile モジュールへの依存関係には、多くの大きな変更がある。詳細については移行ガイド https://aka.ms/azSpowershellmigration を参照。
- AzureStackAdmin
- Get-AzsTenantSubscription が Get-AzsUserSubscription に名称変更され、下位互換性のためにエイリアスをサポート
- New-AzsTenantSubscription が New-AzsUserSubscription に名称変更され、下位互換性のためにエイリアスをサポート
- Remove-AzsTenantSubscription が Remove-AzsUserSubscriptionに名称変更され、下位互換性のためにエイリアスをサポート
- AzureStackAdmin
Force パラメーターの削除
今回のリリースでは、すべての廃止された Force パラメーターをコマンドレットから削除、かつ将来のリリースでパラメーターが削除されるという対応する警告を削除
この変更で影響があるコマンドレットは、次のとおり :
Profile
- Remove-AzureRmEnvironment
Resources
- Register-AzureRmProviderFeature
- Register-AzureRmResourceProvider
- Remove-AzureRmADServicePrincipal
- Remove-AzureRmPolicyAssignment
- Remove-AzureRmResourceGroupDeployment
- Remove-AzureRmRoleAssignment
- Stop-AzureRmResourceGroupDeployment
- Unregister-AzureRmResourceProvider
Tag
- Remove-AzureRmTag
上記のコマンドレットを使用するスクリプトがある場合、Force パラメーターを削除することによって、大きな変更に対応することが可能
# Old New-AzureRmResourceGroup -Name $resourceGroupName -Location $location -Force # New New-AzureRmResourceGroup -Name $resourceGroupName -Location $location
Tag パラメーターの変更
このリリースでは、Tags パラメーター名が Tag に変更され、型が Hashtable[] から Hashtable に変更、キーと値のペアの形式が変更
過去、Hashtable[] の各エントリは、単一のキーと値のペアを表現 :
$tags = @{ Name = "test1"; Value = "testval1" }, @{ Name = "test2", Value = "testval2" } $tags[0].Name # Key for the first entry, "test1" $tags[0].Value # Value for the first entry, "testval1" $tags[1].Name # Key for the second entry, "test2" $tags[1].Value # Value for the second entry, "testval2"
これで Name と Value は必要なくなり、Hashtable に Key = “Value” を割り当てることで、キーと値のペアを作成することが可能に
$tag = @{ test1 = "testval1"; test2 = "testval2" } $tag["test1"] # Gets the value associated with the key "test1" $tag["test2"] # Gets the value associated with the key "test2"
この変更により影響があるコマンドレットは、次のとおり :
Compute
- New-AzureRmVM
- Update-AzureRmVM
Dns
- New-AzureRmDnsZone
- Set-AzureRmDnsZone
KeyVault
- Get-AzureRmKeyVault
- New-AzureRmKeyVault
Network
- New-AzureRmApplicationGateway
- New-AzureRmExpressRouteCircuit
- New-AzureRmLoadBalancer
- New-AzureRmLocalNetworkGateway
- New-AzureRmNetworkInterface
- New-AzureRmNetworkSecurityGroup
- New-AzureRmPublicIpAddress
- New-AzureRmRouteTable
- New-AzureRmVirtualNetwork
- New-AzureRmVirtualNetworkGateway
- New-AzureRmVirtualNetworkGatewayConnection
- New-AzureRmVirtualNetworkPeering
Resources
- Find-AzureRmResource
- Find-AzureRmResourceGroup
- New-AzureRmResource
- New-AzureRmResourceGroup
- Set-AzureRmResource
- Set-AzureRmResourceGroup
Storage
- New-AzureRmStorageAccount
- Set-AzureRmStorageAccount
上記のコマンドレットを使用するスクリプトがある場合、Tags パラメーターを Tag に変更し、Tag を新しい形式に変更することによって、大きな変更に対応することが可能
# Old New-AzureRmResourceGroup -Name $resourceGroupName -Location -location -Tags @{ Name = "testtag"; Value = "testval" } # New New-AzureRmResourceGroup -Name $resourceGroupName -Location -location -Tag @{ testtag = "testval" }
Profile の大きな変更
このリリースで、次のコマンドレットとコマンドレット出力の種類が変更
Add-AzureRmAccount の大きな変更
- EnvironmentName パラメーターが削除され、Environment に置き換え。Environment では、AzureEnvironment オブジェクトではなく文字列の使用が可能に。
# Old Add-AzureRmAccount -EnvironmentName AzureStack # New Add-AzureRmAccount -Environment AzureStack
Select-AzureRmProfile が Import-AzureRmContext に名称変更
- Select-AzureRmProfile が Import-AzureRmContext に名称変更
# Old Select-AzureRmProfile -Path c:\mydir\myprofile.json # New Import-AzureRmContext -Path c:\mydir\myprofile.json
Save-AzureRmProfile が Save-AzureRmContext に名称変更
- Save-AzureRmProfile が Save-AzureRmContext に名称変更
# Old Save-AzureRmProfile -Path c:\mydir\myprofile.json # New Save-AzureRmContext -Path c:\mydir\myprofile.json
PSAzureContext Type 出力の大きな変更
- TokenCache プロパティが、byte[] の代わりに IAzureTokenCache を実装する型に変更
# Old $bytes = (Get-AzureRmContext).TokenCache $bytes = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).TokenCache $bytes = (Add-AzureRmAccount).Context.TokenCache # New $bytes = (Get-AzureRmContext).TokenCache.CacheData $bytes = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).TokenCache.CacheData $bytes = (Add-AzureRmAccount).Context.TokenCache.CacheData
PSAzureAccount Type 出力の大きな変更
- AccountType プロパティが、Type に変更
# Old $type = (Get-AzureRmContext).Account.AccountType $type = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).Account.AccountType $type = (Add-AzureRmAccount).Context.Account.AccountType # New $type = (Get-AzureRmContext).Account.Type $type = (Set-AzureRmContext -SubscriptionId xxx-xxx-xxx-xxx).Account.Type $type = (Add-AzureRmAccount).Context.Account.Type
PSAzureSubscription Type 出力の大きな変更
- SubscriptionId プロパティ が Id に変更
# Old $id =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).SubscriptionId $id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.SubscriptionId $id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionId $id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionId # New $id =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).Id $id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.Id $id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Id $id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Id
- SubscriptionName プロパティが Name に変更
# Old $name =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).SubscriptionName $name =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.SubscriptionName $name =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionName $name =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.SubscriptionName # New $name =(Get-AzureRmSubscription -SubscriptionId xxxx-xxxx-xxxx-xxxx).Name $name =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Subscription.Name $name =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Name $name =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Subscription.Name
PSAzureTenant Type 出力の大きな変更
- TenantId プロパティが、Id に変更
# Old $id =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).TenantId $id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Tenant.TenantId $id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.TenantId $id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.TenantId # New $id =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).Id $id =(Add-AzureRmAccount -SubscriptionId xxxx-xxxx-xxxx-xxxx).Context.Tenant.Id $id =(Get-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.Id $id =(Set-AzureRmContext -SubscriptionId xxxx-xxxx-xxxx-xxxx).Tenant.Id
- Domain プロパティが、Directory に変更
# Old $tenantName =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).Domain # New $tenantName =(Get-AzureRmTenant -TenantId xxxx-xxxx-xxxx-xxxx).Directory
参考
- PowerShell Gallery | Home
https://www.powershellgallery.com/ - Azure PowerShell for AzureStack Technical Preview 3 がリリースされました | 焦げlog
https://kogelog.com/2017/03/15/20170315-01/ - Azure PowerShell for AzureStack v1.2.10 がリリースされました | 焦げlog
https://kogelog.com/2017/07/13/20170713-01/