我是Powershell的新手,並且對Azure Powershell來說是全新的。我需要創建一個PowerShell腳本來關閉訂閱中找到的所有虛擬機。我想這需要在管理證書的幫助下完成。但不知道從哪裏開始。我只是做了一些代碼行簡單列出所有的虛擬機,如下圖所示:Azure Powershell停止訂閱虛擬機
Add-AzureAccount -Environment "AzureCloud"
$subscription = "my-sub-scri-ption"
Select-AzureSubscription -Current "SubName"
Set-AzureSubscription -SubscriptionName "SubName"
Get-AzureVM -ServiceName "VM1"
收到輸出是「GET-AzureVM:值不能爲空 參數名:subscriptionId」。
有人可以在這方面幫助我嗎?
**編輯:**
這我使用PowerShell腳本是如下:
Add-AzureAccount -Environment "AzureCloud"
Set-AzureSubscription -SubscriptionName "My Subs"
$serviceName = "Service01"
$vmName = "Service01"
Get-AzureVM | Stop-AzureVM -Force
雖然在運行它顯示腳本的執行是成功的,我可以看到仍然是VM已打開電源。請注意,在我的情況下,serviceName和vmName是相同的。在我的代碼中有任何錯誤?
**重新編輯** 執行的代碼:
Add-AzureAccount -Environment "AzureCloud"
Set-AzureSubscription -SubscriptionName "My Subs"
$serviceName = "Service01"
$vmName = "Service01"
Get-AzureVM
錯誤上面的代碼:
Get-AzureVM : Value cannot be null.
Parameter name: subscriptionId
At D:\TC_PS\Untitled1.ps1:5 char:1
+ Get-AzureVM
+ ~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-AzureVM], ArgumentNullException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.GetAzureVMCommand
請問您能否打印Get-AzureVM結果,因爲發佈的代碼似乎格式正確 – 2014-09-09 10:08:20
@Michael:請參閱重新編輯! – serverstackqns 2014-09-10 06:47:51
當選定的訂閱無效時發生錯誤。現在我會運行'Get-AzureSubscription | Remove-AzureSubscription'這會刪除你所有的訂閱(我認爲你在添加accout之前運行了Set-AzureSubscription),然後在登錄後檢查你剛剛運行'Get-AzureSubscription'的訂閱,你就不需要運行'Add-AzureAccount'需要運行Set-AzureSubscription(用於更改訂閱,例如設置當前的存儲名稱),在檢查正確的SubscriptionName後,只需運行「Select-AzureSubscription」MySubscriptionName「'然後'Get-AzureVM' – 2014-09-10 11:00:09