Azure PowerShell for AzureStack v1.2.11 がリリースされました

スポンサーリンク

2017/10/13 (現地時間) に Azure PowerShell for AzureStack v1.2.11 がリリースされました。

現時点で確認する限りでは、PowerShell Gallery からのみのようです。

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に名称変更され、下位互換性のためにエイリアスをサポート

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

参考