Azure PowerShell 1.0.0以上版本在中国Azure使用的注意事项

 随着Azure PowerShell 1.0.0+的推出,越来越多的客户开始使用新的版本的Azure PowerShell。此版本的PowerShell最大的改变在于将原先的Switch-AzureMode的指令移除,将原本在其下的指令改以加上Rm的方式存在,如Get-AzureResource改为Get-AzureRmResource。如此一来,在使用之前就不需要先做AzureMode的切换。因此,PowerShell 1.0.0的改变主要影响的是使用Azure资源管理器 (Azure Resource Manager,以下简称ARM)的用户,对于使用Azure服务管理器(Azure Service Manager,以下简称ASM)的用户影响并不大。(关于两者差异可参考下列常见问题) 然而,由于此次版本的改变,许多用户在验证身份时发生了问题: 1. 如同以前版本使用Add-AzureAccount –Environment AzureChinaCloud输入中国Azure的身份。却发现在使用AzureRm相关指令时要求重新以Login-AzureRmAccount输入身份。 2. 当输入Login-AzureRmAccount –Environment AzureChinaCloud时,出现错误。 这是因为此次改版之后将ASR和ARM两者的身份信息及环境参数分开因此需要分别输入并需要对环境参数进行额外操作。   在解决这个错误之前,需要先确认当前Azure PowerShell的版本。 可在控制台中查找相关信息或在PowerShell中执行 Get-Module -ListAvailable | Where-Object { $_.name -like “*Azure*” } 这边需要特别确认AzureRM.Profile的版本,我这边的版本是1.0.1。 首先,建议所有的用户升级到Azure PowerShell 1.0.2以上版本,主要是因为在此版本中提供了相关修正。使用0.9.x版本的用户,也建议进行升级,主要是因为有些新的服务在新的版本下才能使用。(如Redis Cache Premium) 最新的Azure PowerShell安装文件下载地址请到这里查找: https://github.com/Azure/azure-powershell/releases   在此,我假设Azure PowerShell都升级到1.0.2以上版本了。(无法升级的1.0.0及1.0.1用户作法可参考常见问题) 接着,在PowerShell中输入下列指令 Login-AzureRmAccount –EnvironmentName AzureChinaCloud 在Azure PowerShell 1.0.2之后,加入了-EnvironmentName参数,使用该参数就能成功验证中国Azure的账户信息。 接着,就能正常的操作AzureRm相关指令   常见问题…