-1

问题解决后我写的博客更新:

点击这里查看我的博客文章

注意:机密内容替换为:xxx

注意 2:我无法让我的代码块周围的格式正常工作,因此对此深表歉意。

我一直在使用 Azure 自动化。

我想每晚使用 stop-AzureVM 关闭并在早上重新启动它以节省资金。

我可以使用 powershell ISE 从本地计算机调用 get-AzureVM,但是当我在 Azure 门户的 Azure 自动化中运行我的 powershell 脚本时,get-AzureVM 不返回任何内容,因此我无法获取我的 VM 并因此停止它.

这是我的运行手册中的脚本:

workflow Stop-MyVM {

# Specify Azure Subscription Name
$subName = 'My subscription Connection'

# Connect to Azure Subscription
Connect-Azure -AzureConnectionName $subName

Select-AzureSubscription -SubscriptionName $subName 

$vm = Get-AzureVM -ServiceName 'xxx-xxxx' -Name 'xxx-xxxVM' 

Write-Output "VM NAME: $vm"

# stop code to go here when I work out why get-AzureVM is not working 
}

我还有 2 项资产: 连接: 在此处输入图像描述 证书: 在此处输入图像描述

我还从网上下载了另一本运行手册以连接到 Azure。这是非常标准的,不会导致问题: 在此处输入图像描述

不起作用但未出错的行是: $vm = Get-AzureVM -ServiceName 'xxx-xxx' -Name 'xxx-xxxVM'

这是输出: 在此处输入图像描述

4

4 回答 4

2

我会建议你几件事-

一种。转到资产选项卡并添加正确的 windows powershell 凭据(只需使用用户名和密码,与登录 azure 门户相同)。

湾。在 Runbook 中添加您的代码。假设您的 powershell 自动化凭证名称是 StartVM,您的订阅名称是 xxx。在这种情况下,工作流程将是 -

   workflow StartVM
   {
    $Cred = Get-AutomationPSCredential -Name
    StartVM' Add-AzureAccount -Credential $Cred
    Select-AzureSubscription -SubscriptionName “xxx”
    inlineScript
      {
        Start-AzureVM -Name TestServer -ServiceName CS12345
      }
   }

C。在此之后,您可以根据需要安排运行手册。

希望这个对你有帮助-

http://azure.microsoft.com/blog/2014/11/25/introducing-the-azure-automation-script-converter/ http://azure.microsoft.com/en-us/documentation/articles/automation-从样本创建运行手册/

谢谢。

于 2015-03-12T12:04:24.273 回答
1

如果您查看此作业的作业历史记录,是否列出了任何错误记录?

如果您只是尝试获取所有虚拟机,它会起作用吗?

$VMs = Get-AzureVM
Write-Output $VMs

此外,我们建议在 Azure 自动化中使用 OrgID 身份验证,而不是证书身份验证。有关更多详细信息,请参阅http://azure.microsoft.com/blog/2014/08/27/azure-automation-authenticating-to-azure-using-azure-active-directory/

于 2014-12-09T02:33:10.227 回答
0

如果您查看 Connect-Azure 脚本的最后一行,则 $AzureConnectionName 用作订阅名称来设置 PS 上下文。您的连接名称和订阅名称是否相同?如果不是,您可以通过使用您的订阅名称运行 Connect-Azure 进行测试,或者将连接资产的名称重命名为与您的订阅名称相同。

于 2014-12-09T03:11:05.510 回答
0

我建议使用全新的 Azure AD 帐户进行测试。我使用的是可以毫无问题地登录到 Azure 门户的一个,但Get-AzureVM在具有该凭据的脚本中始终为空。

我尝试重新创建凭据和运行手册,但最后我只需要创建一个新的 Azure AD 用户并在创建后分配共同管理员角色。

于 2016-01-08T16:24:50.453 回答