Ответ веб-перехватчика учетной записи службы автоматизации Azure

Я пытаюсь выполнить сценарий PowerShell с помощью веб-перехватчика в учетной записи автоматизации Azure. Мой сценарий Powershell выполнит отключение виртуальной машины через веб-перехватчик. Я получаю ответ как идентификатор задания, поэтому мое требование состоит в том, чтобы получить ответ, поскольку данное VmName $VmName должно быть напечатано и с сообщением об успешной остановке вместе с идентификатором задания. Как получить этот ответ с помощью скрипта, куда я должен добавить, чтобы получить ответ.

      Param
(
[Parameter (Mandatory = $false)]
[object] $WebhookData
)

if ($WebhookData) {
$WebhookName = $WebHookData.WebhookName
$WebhookHeaders = $WebhookData.RequestHeader
$WebhookBody = $WebhookData.RequestBody
$input = (ConvertFrom-Json -InputObject $WebhookData.RequestBody)
}

# Login to Automation Account
$connectionName = 'AzureRunAsConnection'

try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection= Get-AutomationConnection -Name $connectionName

"Logging in to Azure..."
#Add-AzureRMAccount 
Connect-AzAccount -ServicePrincipal -TenantId $servicePrincipalConnection.TenantId -ApplicationId $servicePrincipalConnection.ApplicationId -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint -WarningAction Ignore
}
catch {

if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}

$ResourceGroupName = $input.ResourceGroupName
$VmName = $input.VmName


Stop-AzVM -Name $VmName -ResourceGroupName $ResourceGroupName  -Force

Write-Output "VM $VmName in Resource Group $ResourceGroupName was stopped Successfully"

1 ответ

если вы пытаетесь проверить статус виртуальной машины внутри скрипта, вы можете проверить ниже

      
$Stop = Stop-AzVM -Name $VmName -ResourceGroupName $ResourceGroupName  -Force
if(($Stop.Status) -eq "Succeeded"){
Write-Output "VM $VmName in Resource Group $ResourceGroupName was stopped Successfully"
}
# Or can check VM status seperatly by using 
Get-AzVM $VmName -Status |Select-Object Name,PowerState
Другие вопросы по тегам