postheadericon VMware: Scripting with Powershell CLI: Tipps

Hier noch eine Sammlung einiger Kleinigkeiten, die das Arbeiten mit Powershell-Skripten erleichtern

  1. Bestätigungsrückfrage abschalten: Bei vielen Kommandos wird bei der Ausführung eine mehr oder weniger lästige Bestätigung abgefragt:[vSphere PowerCLI] C:\> Disconnect-VIServer
    Confirm
    Are you sure you want to perform this action?
    Performing operation “Disconnect VIServer” on Target “Server
    vcenter1.vmlab.roc.consol.de”.
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
    (default is “Y”):

    Dies lässt sich mit dem Parameter “-Confirm$false” beim Aufruf der entsprechenden Funktion abschalten.

  2. Auf SDK-Methoden zugreifenPowershell CLI bietet auch die Möglichkeit, Methoden der API direkt aufzurufen. So dient die Methode RegisterVM_Task() dazu, eine VM über den absoluten Pfad ihrer .vmx Datei auf einem ESX-Server zu registrieren. Bei den cmdlets der Powershell konnte ich keine geeigneten Methoden dazu finden.
    Eine guter Einstieg in die Dokumentation der unterschiedlichen Skript-Schnittstellen von VMware findet sich im Dokument DOC-7270.
  3. Task innerhalb von Powershell starten und Ergebnis abrufen$task = Get-View $taskMoRef
    while ($task.info.state -eq “running” -or $task.info.state -eq “queued”){
    $task = Get-View $taskMoRef
    }

    if ($task.info.error -eq $null){
    Write-Output “Task successfully completed”
    } else {
    Write-Output “Task NOT successfully completed”
    }

    Diese Sequenz prüft den Status einer zuvor erzeugten Task und wartet solange, bis sich diese beendet hat. Anschließend kann über $task.info.error festgestellt werden, ob bei der Ausführung ein Fehler auftrat.

Kommentieren