2013-06-29 44 views
1

我試圖用PowerShell停止或啓動Azure虛擬機。我不是很PowerShell中經歷了那麼我寫了一個簡單的腳本作爲測試:未指定Azure PowerShell證書

Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1" 

$subID = "<GUID>" 
$thumbprint = "<Thumbprint>" 
$subscriptionName = "testAzure" 
$myCert = Get-Item cert:\\CurrentUser\My\$thumbprint 
$vmName = "<vm name>" 

Set-AzureSubscription –SubscriptionName $subscriptionName -SubscriptionId $subID -Certificate $myCer 
Select-AzureSubscription -SubscriptionName $subscriptionName 

Get-AzureSubscription -Current 

我創建了我的電腦一.cer證書,我導出,然後在Azure的進口(我使用http://msdn.microsoft.com/en-us/library/windowsazure/gg551722.aspx確切的例子) 。當我寫主機的$ myCert可變我得到迴應:

[Subject] CN=testAzure

[Issuer] CN=testAzure

[Serial Number] --serialnumber--

[Not Before] 29-6-2013 15:27:26

[Not After] 1-1-2040 00:59:59

[Thumbprint] --thumbprint--

當我運行該腳本,我得到以下錯誤:

Get-AzureSubscription : You MUST specify a certificate. Call Set-AzureSubscription and Select-AzureSubscription first. At D:\Users\foobar\Desktop\test.ps1:23 char:1 + Get-AzureSubscription -Current + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Get-AzureSubscription], ArgumentException + FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.Subscription.GetAzureSubscriptionCommand

我想不出什麼,我做錯了什麼?有人有建議嗎?

回答

1

看起來像你的代碼一個錯字:

Set-AzureSubscription –SubscriptionName $subscriptionName -SubscriptionId $subID -Certificate $myCer 

你在Set-AzureSubscription指定證書變量$myCer其中的變量上被定義爲$myCert(失蹤「T」)。

+2

'Set-StrictMode -Version Latest'是你的朋友。養成將它作爲所有腳本的第一行的習慣。 –

+0

哈哈,我的天啊,我一直在掙扎幾個小時。感謝Gaurav Mantri – ydd1987