Azure Powershell管理多訂閱及證書

由於我的電腦曾經管理過兩個Azure訂閱,這兩天在上傳VHD文件到Azure時出現了“找不到存儲賬號”及“證書不匹配”的問題。

場景還原

第一天使用Azure賬號A上傳VHD,沒有出現問題。第二天使用Azure賬號B上傳VHD是,出現瞭如下提示”The storage account was not found”

clip_image001

再次覈對Azure管理後臺,確定存儲賬號“uploadtest”是存在的。先來看看存儲賬號<Get-AzureStorageAccount>,結果提示“No certificate was found in the certificate store with thumbprint”

clip_image001[9]

問題分析

a. 近期我使用Azure Powershell管理過兩個Azure賬號,可能是Azure賬號識別不正確;

b. Powershell執行命令時不需要輸入Azure賬號信息,那麼本地計算機肯定保存了Azure賬號的相關信息;

c. 在所有操作過程中,只是從Azure下載過證書並安裝到本地計算機上了,而上圖中也有提示證書的問題。

解決過程

1. 查看證書

在操作最初,我用<Import-AzurePublishSettingsFile>導入過從Azure下載的證書。此證書存放在當前用戶的個人目錄下

image

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”。

image

那麼,問題來了,我現在需要管理訂閱“免費試用”,該怎麼辦?

3. 選擇Azure訂閱

命令<Select-AzureSubscription>

執行完成後可以看到,訂閱“1RMB Trail Offer”和“免費試用”的IsCurrent值變爲對調了,即當前活動訂閱變爲“免費試用”

image

4. 再次查看存儲賬號

再次查看存儲賬號,發現屬性正常了,正式我想要管理的

image

5. 上傳VHD文件

終於可以正常上傳了,可以看到進度

image

插曲-證書指紋更新

針對提示“No certificate was found in the certificate store with thumbprint”,還有另外一個插曲。

我在管理訂閱“免費試用”對應的賬號時,生成過多張證書,從上圖中3個證書指紋就可發現。而我電腦僅保留了最後一張證書(指紋EA1AED開頭的),但是Azure的訂閱關聯的默認證書是第一張(證書指紋263B87開頭的),見下圖

image

此時我在進行VHD上傳時,同樣出現了證書錯誤,見下圖

image

處理辦法,更新訂閱關聯的默認證書指紋

命令

<$mycert = Get-Item Cert:\CurrentUser\My\證書指紋>

<Set-AzureSubscription -SubscriptionName "訂閱名稱" -Certificate $mycert>

完成後結果如下

image

本文結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章