26-01-2014, 03:51 PM
Hier ein kleiner Tipp um sich die Administration einfacher zu machen. Das kennt sicherlich jeder, der mit VMware vSphere ESX arbeitet: Man möchte mal eben eine VM starten (oder stoppen), möchte sich aber nicht erst im vSphere Client anmelden und über die GUI die VM starten. Es geht auch einfacher, mit der VMware vSphere PowerCLI. Dazu muss einmal von Windows die Powershell installiert sein und von VMware die vSphere Client CLI (eine Erweiterung für die PowerShell von Microsoft).
Was braucht man sonst noch:
1. Ein PowerCLI Skript (vmstart_internet.ps1) für den Start der VM:
connect-VIServer <Name des ESX Server>
Start-VM -VM <Name der VM> -Confirm -RunAsync
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
2. Eine Batch, um das Skript möglichst einfach starten zu können (= Doppelklick):
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "c:\Users\userxyz\skripte\vmstart_internet.ps1"
In diesem Fall wird die VM bei Doppelklick auf das Batch File gestartet. Vorher wird natürlich noch User und Passwort des ESXi Servers abgefragt. Man muss also kein Passwort im Skript hinterlegen.
Vorher müssen noch zwei "Sicherheitsmaßnahmen" der CLI abgeschaltet werden:
Set-PowerCLIConfiguration -InvalidCertificateAction ignore
Dies schaltet die Fehlermeldung ab, wenn der ESX kein eingetragenes Zertifikat besitzt.
Set-ExecutionPolicy RemoteSigned
Damit können Sie auch eigene Skripte starten.
Wofür kann man das Skript verwenden?
Für den schnellen Start von Testmaschinen, die nicht immer laufen sollen. Natürlich kann man über diesen Weg auch VMs stoppen. Eine gute Anwendung ist die Steuerung über eine USV. Sollte der Strom ausfallen und die USV droht aufzugeben, dann können über ein Skript alle laufenden VMs ausgeschaltet werden. jetzt muss natürlich User und Passwort mit hinterlegt werden. Dafür kann man aber im ESX einen speziellen User angelegen, der nur VMs stoppen und starten darf. Natürlich sind auch noch viele andere Anwendungen denkbar. Es können ja nicht nur VMs gestartet und gestoppt werden ...
Hoffe dieser kleine Tipp hilft euch weiter!
Was braucht man sonst noch:
1. Ein PowerCLI Skript (vmstart_internet.ps1) für den Start der VM:
connect-VIServer <Name des ESX Server>
Start-VM -VM <Name der VM> -Confirm -RunAsync
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
2. Eine Batch, um das Skript möglichst einfach starten zu können (= Doppelklick):
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "c:\Users\userxyz\skripte\vmstart_internet.ps1"
In diesem Fall wird die VM bei Doppelklick auf das Batch File gestartet. Vorher wird natürlich noch User und Passwort des ESXi Servers abgefragt. Man muss also kein Passwort im Skript hinterlegen.
Vorher müssen noch zwei "Sicherheitsmaßnahmen" der CLI abgeschaltet werden:
Set-PowerCLIConfiguration -InvalidCertificateAction ignore
Dies schaltet die Fehlermeldung ab, wenn der ESX kein eingetragenes Zertifikat besitzt.
Set-ExecutionPolicy RemoteSigned
Damit können Sie auch eigene Skripte starten.
Wofür kann man das Skript verwenden?
Für den schnellen Start von Testmaschinen, die nicht immer laufen sollen. Natürlich kann man über diesen Weg auch VMs stoppen. Eine gute Anwendung ist die Steuerung über eine USV. Sollte der Strom ausfallen und die USV droht aufzugeben, dann können über ein Skript alle laufenden VMs ausgeschaltet werden. jetzt muss natürlich User und Passwort mit hinterlegt werden. Dafür kann man aber im ESX einen speziellen User angelegen, der nur VMs stoppen und starten darf. Natürlich sind auch noch viele andere Anwendungen denkbar. Es können ja nicht nur VMs gestartet und gestoppt werden ...
Hoffe dieser kleine Tipp hilft euch weiter!