首页 > 代码库 > Azure Powershell管理多订阅及证书
Azure Powershell管理多订阅及证书
由于我的电脑曾经管理过两个Azure订阅,这两天在上传VHD文件到Azure时出现了“找不到存储账号”及“证书不匹配”的问题。
场景还原
第一天使用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管理多订阅及证书