Azure Powershell管理多订阅及证书
2014-10-15 18:16
204 查看
由于我的电脑曾经管理过两个Azure订阅,这两天在上传VHD文件到Azure时出现了“找不到存储账号”及“证书不匹配”的问题。
再次核对Azure管理后台,确定存储账号“uploadtest”是存在的。先来看看存储账号<Get-AzureStorageAccount>,结果提示“No certificate was found in the certificate store with thumbprint”
b. Powershell执行命令时不需要输入Azure账号信息,那么本地计算机肯定保存了Azure账号的相关信息;
c. 在所有操作过程中,只是从Azure下载过证书并安装到本地计算机上了,而上图中也有提示证书的问题。
从下图中可以看出有两个不同的Azure订阅“1RMB Trail Offer”和“免费试用”,而“1RMB Trail Offer”的DefaultAccount值与上面提示“No certificate was found in the certificate store with thumbprint”的证书指纹完全吻合。“1RMB Trail Offer”的另外两个属性IsDefault和IsCurrent值均为True,与“免费试用”相反,即默认订阅和当前活动订阅均为“1RMB Trail Offer”。
那么,问题来了,我现在需要管理订阅“免费试用”,该怎么办?
执行完成后可以看到,订阅“1RMB Trail Offer”和“免费试用”的IsCurrent值变为对调了,即当前活动订阅变为“免费试用”
我在管理订阅“免费试用”对应的账号时,生成过多张证书,从上图中3个证书指纹就可发现。而我电脑仅保留了最后一张证书(指纹EA1AED开头的),但是Azure的订阅关联的默认证书是第一张(证书指纹263B87开头的),见下图
此时我在进行VHD上传时,同样出现了证书错误,见下图
处理办法,更新订阅关联的默认证书指纹
命令
<$mycert = Get-Item Cert:\CurrentUser\My\证书指纹>
<Set-AzureSubscription -SubscriptionName "订阅名称" -Certificate $mycert>
完成后结果如下
场景还原
第一天使用Azure账号A上传VHD,没有出现问题。第二天使用Azure账号B上传VHD是,出现了如下提示”The storage account was not found”再次核对Azure管理后台,确定存储账号“uploadtest”是存在的。先来看看存储账号<Get-AzureStorageAccount>,结果提示“No certificate was found in the certificate store with thumbprint”
问题分析
a. 近期我使用Azure Powershell管理过两个Azure账号,可能是Azure账号识别不正确;b. Powershell执行命令时不需要输入Azure账号信息,那么本地计算机肯定保存了Azure账号的相关信息;
c. 在所有操作过程中,只是从Azure下载过证书并安装到本地计算机上了,而上图中也有提示证书的问题。
解决过程
1. 查看证书
在操作最初,我用<Import-AzurePublishSettingsFile>导入过从Azure下载的证书。此证书存放在当前用户的个人目录下2. 查看本机关联的Azure订阅
命令<Get-AzureSubscription>从下图中可以看出有两个不同的Azure订阅“1RMB Trail Offer”和“免费试用”,而“1RMB Trail Offer”的DefaultAccount值与上面提示“No certificate was found in the certificate store with thumbprint”的证书指纹完全吻合。“1RMB Trail Offer”的另外两个属性IsDefault和IsCurrent值均为True,与“免费试用”相反,即默认订阅和当前活动订阅均为“1RMB Trail Offer”。
那么,问题来了,我现在需要管理订阅“免费试用”,该怎么办?
3. 选择Azure订阅
命令<Select-AzureSubscription>执行完成后可以看到,订阅“1RMB Trail Offer”和“免费试用”的IsCurrent值变为对调了,即当前活动订阅变为“免费试用”
4. 再次查看存储账号
再次查看存储账号,发现属性正常了,正式我想要管理的5. 上传VHD文件
终于可以正常上传了,可以看到进度插曲-证书指纹更新
针对提示“No certificate was found in the certificate store with thumbprint”,还有另外一个插曲。我在管理订阅“免费试用”对应的账号时,生成过多张证书,从上图中3个证书指纹就可发现。而我电脑仅保留了最后一张证书(指纹EA1AED开头的),但是Azure的订阅关联的默认证书是第一张(证书指纹263B87开头的),见下图
此时我在进行VHD上传时,同样出现了证书错误,见下图
处理办法,更新订阅关联的默认证书指纹
命令
<$mycert = Get-Item Cert:\CurrentUser\My\证书指纹>
<Set-AzureSubscription -SubscriptionName "订阅名称" -Certificate $mycert>
完成后结果如下
本文结束
本文出自 “红尘” 博客,请务必保留此出处http://hongc.blog.51cto.com/2326359/1564523相关文章推荐
- Azure PowerShell (4) 使用PowerShell管理多个订阅
- [Azure]使用Powershell输出Azure订阅下所有虚拟机的ACL信息
- Azure Powershell获取指定订阅下的虚拟机信息(ASM)
- [Azure] 使用Azure Powershell脚本查看账号下所有订阅中的云服务公网IP地址绑定情况
- 掌握 Azure 的注册、帐户和订阅管理 Azure 上云须知
- [Azure]使用Azure Powershell输出ARM模式下某个账号中所有订阅下的虚拟网络拓扑
- Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
- Azure Powershell获取指定订阅下的虚拟机信息(ARM)
- Azure PowerShell (10) 使用PowerShell导出订阅下所有的Azure VM和Cloud Service的高可用情况
- 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机
- powershell 管理证书命令
- Azure ARM (21) Azure订阅的两种管理模式
- Azure China (5) 管理Azure China Powershell
- [Azure] 使用 Visual Studio 2013 管理中国版 Azure 订阅
- 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机
- [Azure]ARM模式下使用Powershell找出订阅中没有被使用的vhd
- Azure资源管理工具Azure PowerShell介绍
- 用于创建和管理 Azure 虚拟机的常用 PowerShell 命令
- 用于创建和管理 Azure 虚拟机的常用 PowerShell 命令