PowerCLI Fehler – Invalid server certificate

Auf Systemen mit frisch aufgesetzter PowerCLI passiert es mir immer wieder, dass meine Skripte mit Fehler beendet werden, oder dass schon der Befehl Connect-VIServer scheitert.

Connect-VIServer Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you’d like to connect once or to add a permanent exception for this server

Das Problem lässt sich schnell und dauerhaft umgehen.

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

SSH im gesamten Cluster mit PowerCLI aktivieren

Dies ist eine Methode, um schnell auf einem oder mehreren Hosts im Cluster den SSH Dienst zu aktivieren.

Dienst starten

Zunächst eine PowerCLI Verbidung mit dem vCenter herstellen.

Connect-VIserver <myVC>

Der unten genannte Befehl aktiviert SSH auf allen Hosts im vCenter.

Get-VMHost | Get-VMHostService | Where Key -EQ "TSM-SSH" | Start-VMHostService

TSM steht hier für Technical Support Mode.

SSH Dienst beenden

Get-VMHost | Get-VMHostService | Where Key -EQ "TSM-SSH" |  Stop-VMHostService -Confirm:$False

Selektive Aktivierung

Man kann die Aktion auch auf einen einzelnen Host einschränken.

Get-VMHost myESX.myDomain.local | Get-VMHostService | Where Key -EQ "TSM-SSH" | Start-VMHostService

VMs ohne Tag emitteln

Backup-Tag SLA überprüfen

VMware Tags bieten vielseitige Möglichkeiten, VMs dynamisch anhand ihrer Tags zu gruppieren. Ein Anwendungsfalls sind die Verwendung von Backup-Tags, um Backup-SLA zu gewährleisten. In meinem Fall gibt es eine Kategorie mit Namen „Backup“ und darunter mehrere SLA-Tags für wöchentliche, oder tägliche Backups.

Oneliner

Mittels PowerCLI lässt sich schnell ermitteln, welche VM keinen Tag gesetzt hat.

connect-viserver myVC
get-vm | ?{ (get-tagassignment $_) -eq $null}

Diese Abfrage ist aber noch nicht hinreichend. Sie ermittelt nur, welche VMs KEINE Tags haben. Ich möchte jedoch erfahren, welche VMs keine Tags der Kategorie „Backup“ haben. Wir müssen dazu unsere Abfrage etwas anpassen.

get-vm | ?{ (get-tagassignment $_ -category Backup) -eq $null}

Die Kategorie „Backup“ ist mit der jeweilig verwendeten Namensgebung anzupassen.

 

Backup und Restore der ESXi Host Konfiguration mit PowerCLI

Ich bin ein großer Fan von PowerShell Einzeilern.

Vor Updates, Upgrades oder sonstigen Arbeiten am ESX Server, sollte man unbedingt die Konfiguration sichern. Ein ESXi ist schnell installiert, aber bis eine verlorene  Konfiguration wieder rekonstruiert ist, können Stunden vergehen.

Musste man früher zum Export einer ESXi Konfiguaration noch eine SSH Shell zum Host öffnen oder mittels vSphereCLI arbeiten, so kann man dies jetzt sehr einfach mit einem Einzeiler in PowerCLI machen. „Backup und Restore der ESXi Host Konfiguration mit PowerCLI“ weiterlesen