У меня есть модуль Runbook рабочего процесса Powershell, который автоматизирует запуск и завершение работы виртуальных машин в Azure, я обновил модули в учетной записи автоматизации (чтобы использовать ее для других целей), и это остановило работу сценария. Я исправил большинство сломанных вещей, но бит, который сейчас не работает, получает состояние питания, например: PowerState/deallocated, чтобы его можно было выключить/запустить. Вот мой код:
$vmFullStatus = Get-AzureRmVM -ResourceGroupName test1 -Name test1 -Status
$vmStatusJson = $vmFullStatus | ConvertTo-Json -depth 100
$vmStatus = $vmStatusJson | ConvertFrom-Json
$vmStatusCode = $vmStatus.Statuses[1].code
Write-Output " VM Status Code: $vmStatusCode"
Код состояния виртуальной машины записи-вывода теперь пуст в выходных данных модуля Runbook, но в стандартной оболочке он выводится нормально. У меня ограниченный опыт работы с модулями Runbook рабочего процесса, но я считаю, что его необходимо преобразовать в Json, чтобы рабочий процесс мог его использовать.
Я думаю, что проблема может заключаться в статусах, поскольку при преобразовании в Json отображается:
"Statuses": [
"Microsoft.Azure.Management.Compute.Models.InstanceViewStatus",
"Microsoft.Azure.Management.Compute.Models.InstanceViewStatus"
],
Который теперь не показывает PowerState. Как я могу получить состояние питания виртуальной машины из модуля Runbook рабочего процесса PowerShell, чтобы его можно было использовать? Спасибо