1

我正在尝试使用 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 变量时,我得到一个响应:

[主题] CN=testAzure

[发行人] CN=testAzure

[序列号]--序列号--

[不是之前] 29-6-2013 15:27:26

[不是之后] 1-1-2040 00:59:59

[指纹]--指纹--

当我运行脚本时,我收到以下错误:

Get-AzureSubscription :您必须指定证书。首先调用 Set-AzureSubscription 和 Select-AzureSubscription。在 D:\Users\foobar\Desktop\test.ps1:23 char:1 + Get-AzureSubscription -Current + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ + CategoryInfo : CloseError: (:) [Get-AzureSubscription], ArgumentException + FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.Subscription.GetAzureSubscriptionCommand

我无法弄清楚我做错了什么?有人有建议吗?

4

1 回答 1

1

看起来像您的代码中的错字:

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

您正在指定证书变量,Set-AzureSubscription因为$myCer上面的变量被定义为$myCert(缺少“t”)。

于 2013-06-30T03:32:41.390 回答