VMware: Scripting with Powershell CLI: Tipps
Hier noch eine Sammlung einiger Kleinigkeiten, die das Arbeiten mit Powershell-Skripten erleichtern
- 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.
- 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. - 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.

