我对Azure很陌生,但我正在敲打一些看似简单的事情。我已经阅读了大量资源,这些资源表明这应该很简单,但我无法在新门户网站(ARM)中获取Runbook来启动特定的VM。它运行并声明"已完成"但没有任何反应。
这是脚本:
更新了Jack Zeng的评论,遗憾的是这些评论几乎没有改变。
workflow StartDEVTC1
{
$VerbosePreference = "Continue"
$ErrorActionPreference = "Stop"
$WarnPreference = "Continue"
Write-Output "Getting credential..."
$cred = Get-AutomationPSCredential -Name 'AutomationPowershellCred1'
Write-Output "Adding account..."
Add-AzureRmAccount -Credential $cred
Write-Output "Getting VM..."
$VM = Get-AzureRmVM -ResourceGroupName "myResourceGroup" -Name "DEVTC1" -Status
$vmName = $VM.Name
$vmRG = $VM.ResourceGroupName
Write-Output "Checking state of $vmName from $vmRG..."
$VMDetail = $VM | Select-Object -ExpandProperty StatusesText | convertfrom-json
$vmPowerstate = $VMDetail[1].Code
if($vmPowerstate -like "PowerState/deallocated")
{
Write-Output "$vmName powerstate is $vmPowerstate, starting VM..."
$res = $VM | Start-AzureRmVM
if (($res.StatusCode) -ne 'OK')
{
Write-Error "Could not start VM."
}
}
else
{
Write-Output "$vmName powerstate is $vmPowerstate, not starting VM."
}
Write-Output "END."
}
正如您所看到的,我已尝试添加一些日志记录,但我无法在“测试窗格”中看到这些内容。在我的电脑上运行Powershell中的关键步骤就可以正常运行了吗?
使用我的azure帐户的详细信息(我是帐户的所有者)新定义了凭证。
不言而喻,但是我尝试了一些更简单的方法来调用Start-AzureRmVm并且没有任何效果。
提前表示感谢和赞赏!
答案 0 :(得分:5)
好的,我明白了,答案很简单。
除非您的Runbook是作为“PowerShell Workflow”Runbook创建的,否则不能使用private void chart1_Resize(object sender, EventArgs e)
{
sizeAnn(ra, new Size(24, 36));
}
块。就我而言,它只是一个“PowerShell”Runbook,我想这只是忽略了代码的工作流程。
将Runbook重新创建为“PowerShell工作流程”Runbook,可以输出日志记录,这样我就可以看到发生了什么,并且VM按预期启动了(尽管真的很长时间)。