Azure 自动化:VM 关闭 Runbook 无法在新 VM 上运行

Azure Automation: VM shutdown runbook not working on new VM

由于 VM 锁定问题,我最近不得不删除并重新安装我的 VM。现在 VM 已重新联机,我注意到自动关机功能无法正常工作。在我 运行 进入 VM 问题之前,它工作正常。下面是运行手册中的 PS 脚本,它 returns 出现以下错误:

Correlation ID: 72fa8e58-89f1-4612-bc43-1b05876c2bff
Timestamp: 2015-08-25 06:04:14Z: The remote server returned an error: (401) Unauthorized.
At Shutdown:6 char:6
+ 
+ CategoryInfo          : CloseError: (:) [Add-AzureAccount], AadAuthenticationFailedException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Profile.AddAzureAccount

8/24/2015 11:04:25 PM, Error: Get-azurevm : No default subscription has been designated. 
Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.
At Shutdown:8 char:8
+ 
+ CategoryInfo          : CloseError: (:) [Get-AzureVM], ApplicationException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.GetAzureVMCommand

知道我在使用新 VM 时缺少什么吗?我一直在绞尽脑汁寻找不包含此新 VM 的凭据,但却空手而归。

workflow Shutdown
{
    $Cred = Get-AutomationPSCredential -Name "auto" 
    Add-AzureAccount -Credential $Cred 

    $vms = Get-azurevm 

    foreach($VM in $VMS)
    {    
        $VMName = $VM.Name 
        Stop-AzureVM -ServiceName $VM.ServiceName -Name $VM.Name -Force
        Write-Output "Shutting down VM :  $VMName "
    }
} 

我认为您还应该在您使用的脚本中添加订阅名称(错误日志中的select-azuresubscription)。在像这样的 TechNet 脚本库中有很多以各种方式执行此操作的示例 https://gallery.technet.microsoft.com/scriptcenter/Stop-Azure-VM-with-OrgID-41a79d91

我创建了一个新用户,授予他们订阅的管理员权限,并更新了凭据。这似乎解决了问题,猜测是现有的共同管理员帐户无法访问新 VM。