VMware Tools Status mit PowerCLI auslesen

Der Versionsstatus der VMware Tools in Virtuellen Maschinen ist ein immer wiederkehrendes Thema. Mit Hilfe einger nützlicher Kommandos kann man diesen über die vSphereCLI (Version 5.5) auslesen.

Liste der VMware Tools aller VMs

Zunächst muss eine Connection zu vCenter hergestellt werden. Hat der ausführende User bereits Rechte auf vCenter, so erfolgt keine weitere Abfrage von Logindaten.

connect-viserver <vCenter name>

Alternativ können auch abweichende Credentials übergeben werden.

connect-viserver <vCenter name> -User myUser -password mypassword

Nachdem die Verbindung hergestellt wurde können die Kommandos abgesetzt werden.

get-vm | % { get-view $_.id } | select Name, @{ Name="ToolsVersion"; Expression={$_.config.tools.toolsVersion}},@{ Name="ToolStatus"; Expression={$_.Guest.ToolsVersionStatus}}

Die Ausgabe sieht dann so aus

PSToolsStatus01

Ausgabe als CSV

Möchte man das Ergebnis als Datei ausgeben, so kann man es in eine CSV Datei pipen.

| Export-Csv -NoTypeInformation -UseCulture -Path C:\Temp\ToolsInfo.csv

Der gesamte Befehl lautet dann:

get-vm | % { get-view $_.id } | select Name, @{ Name="ToolsVersion"; Expression={$_.config.tools.toolsVersion}},@{ Name="ToolStatus"; Expression={$_.Guest.ToolsVersionStatus}} | Export-Csv -NoTypeInformation -UseCulture -Path C:\Temp\ToolsInfo.csv

Nur Aktive VMs

Möchte man die Suche auf VMs im Status „PoweredON“ beschränken, so muss eine „where“ Klausel eingebaut werden.

| where {$_.powerstate -ne "PoweredOff" }

Der komplette Befehl:

get-vm | where {$_.powerstate -ne "PoweredOff" } | % { get-view $_.id } | select Name, @{ Name="ToolsVersion"; Expression={$_.config.tools.toolsVersion}},@{ Name="ToolStatus"; Expression={$_.Guest.ToolsVersionStatus}}

Nur veraltete Tools

Zur besseren Übersicht kann die Suche auf VMs einschränkt werden, deren Tools veraltet sind.

Get-VM | where {$_.powerstate -ne “PoweredOff” } | Get-VIew | where {$_.Guest.ToolsVersionStatus -ne “guestToolsCurrent”} | select Name, @{ Name=”ToolsVersion”; Expression={$_.config.tools.toolsVersion}}, @{ Name=”ToolStatus”; Expression={$_.Guest.ToolsVersionStatus}}

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.