ACHTUNG: Das hier veröffentlichte Skript funktioniert NICHT mit VMWare Server 2.x – das angepasste Skript gibt es hier!
Ich habe VMWare Server auf meinem Laptop installiert – in bzw. mit virtuellen Maschinen ist das “Rumspielen” halt doch schmerzfreier wie mit einem Livesystem.
Was mich gestört hat ist die Tatsache, das alle Dienste automatisch gestartet werden und auch die beiden VMWare-Netzwerkkarten immer aktiv sind. Diese Konstellation führt in manchen Situationen zu Problemen, ausserdem vertrete ich die Meinung, das immer nur die Dienste laufen sollten, die man auch grad tatsächlich braucht. Ergo werden alle VMWare-Dienste via Computerverwaltung beendet und die Startart auf Manuell geändert.
Das reine Starten und Stoppen von Diensten lässt sich mittels net start|net stop ja recht einfach auch per Batch erledigen, das Aktivieren|Deaktivieren von LAN-Verbindungen hingegen geht nur mit dem Tool DevCon von Microsoft, das man hier herunterladen kann.
Man packt nun also die DevCon.exe in ein Verzeichnis seiner Wahl (bei mir C:\Batchfiles\vmware\) und erstellt im selben Verzeichnis eine neue Text-Datei, die man z.B. vmware.cmd nennt (Obacht, Dateiendungen müssen angezeigt werden!) und packt nachfolgende Befehle hinein:
@echo off
if "%1"=="start" goto vmstart
if "%1"=="stop" goto vmstop
goto error
:vmstart
devcon enable @ROOT\VMWARE\0000
devcon enable @ROOT\VMWARE\0001
net start "VMware Authorization Service"
net start "VMware NAT Service"
net start "VMware DHCP Service"
net start "VMWare Registration Service"
net start "VMware Virtual Mount Manager Extended"
goto end
:vmstop
net stop "VMWare Registration Service"
net stop "VMware NAT Service"
net stop "VMware DHCP Service"
net stop "VMware Virtual Mount Manager Extended"
net stop "VMware Authorization Service"
devcon disable @ROOT\VMWARE\0000
devcon disable @ROOT\VMWARE\0001
goto end
:error
echo Fehler
echo Programm erwartet Parameter start oder stop
:end
Startet man diese Batch ohne Parameter, wird ein entsprechenden Fehler ausgegeben, das eben die Parameter start oder stop erwartet werden. Ich habe also zwei kleine Verknüpfungen auf dem Desktop (oder wo auch immer ihr wollt) angelegt, die auf diese Batch zeigen und den jeweiligen Parameter übergeben. Zum Aktivieren der VMWare-Netzwerkkarten und Starten der VMWare-Dienste sieht das dann also so aus:
C:\Batchfiles\vmware\vmware.cmd start
Bei der zweiten Verknüpfung, die zum Beenden und Deaktivieren dient, wird lediglich der Parameter start gegen stop ausgetausch. Fertig Laube.
Sollten sich Leerzeichen im Pfad befinden, muss der Pfad in Hochkommas gefasst werden, also “C:\Batch Files\VM Ware\...” Parameter.
Wenn die Batch abgearbeitet ist, kann die VMWare Server Console auf localhost gestartet und anschliessen dann die virtuelle Maschine(n) gestartet werden. Dieser Schritt ist leider manuell auszuführen, würde ich die VMWare Server Console direkt aus der Batch heraus starten, würde das Fenster erst zugehen, wenn ich die Console wieder beende.
Ein Kollege hat das ganze mal in ein VBSkript gepackt, das beim Beenden der Console auch gleich die Dienste beendet und die VMWare-Netzwerkkarten deaktiviert; sofern er nichts dagegen hat, werde ich dieses VBSkript bei Gelegenheit hier veröffentlichen.
Eine Anleitung, wie man die virtuellen Maschinen als Dienst starten kann (dazu muss halt kein Benutzer angemeldet sein), folgt in Kürze.
Dieser Artikel war -sicherlich nicht wörtlich, aber sinngemäss- auch schon Bestandteil meines alten Blogs, ist aber leider dem zerstörten Backup meiner Datenbank zum Opfer gefallen und erscheint nun also etwas aktualisiert unter neuem Datum.
Pingback: VMWare skripten Teil 2 | j-sys.de
Pingback: VMWare: Netzzugriff mit MS Loopback Adapter | j-sys.de