Ich bin ziemlich neu in Azure, aber ich hämmere meinen Kopf gegen etwas, das einfach scheint. Ich habe eine Menge Ressourcen gelesen, die darauf hindeuten, dass dies einfach sein sollte, aber ich kann einfach kein Runbook im neuen Portal (ARM) bekommen, um eine bestimmte VM zu starten. Es läuft und sagt "Completed", aber nichts passiert. HierAzure Runbook zum Starten/Stoppen einer VM sagt "Completed", aber nichts passiert
ist das Skript:
aktualisierte folgenden Jack Zeng Kommentar, die leider wenig verändert.
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."
}
Wie Sie sehen können habe ich versucht, einige Protokollierung hinzugefügt, aber ich kann diese im Testing Fenster nicht sehen. Das Ausführen der wichtigsten Schritte in einer Powershell auf meinem PC funktioniert gut, also was ist hier los?
Der Berechtigungsnachweis wurde mithilfe der Details meines azure-Kontos neu definiert (ich bin ein Eigentümer des Kontos).
Es sollte selbstverständlich sein, aber ich habe einige viel einfachere Ansätze versucht Aufruf Start-AzureRmVm und nichts funktioniert.
Dank und Wertschätzung im Voraus!
Bitte ändern Sie 'Write-Progress' in' Write-Output' und sehen Sie, welche Ausgabe Sie bekommen. Das Cmdlet "Write-Progress" ist in einem Runbook nicht gültig, da es für die Verwendung mit einem interaktiven Benutzer vorgesehen ist. Übrigens wird für 'Start-AzureRmVM' der' -Force' Parameter nicht mehr unterstützt. Ich habe Ihren Code ausprobiert, und es funktioniert perfekt an meinem Ende, ohne die '-Force' und ersetzen' Write-Progress' mit 'Write-Output'. –
Danke Jack, aber auch mit deinen Vorschlägen bekomme ich keine Freude. Im Testbereich sehe ich weder die Ausgabe noch sehe ich irgendwelche Fehler. Ich kann nur "Completed" und eine unveränderte VM sehen. – GlacialSpoon
Das ist komisch. Es funktioniert perfekt zu mir. Ich sehe hier kein Problem. –