VMWare Server 2 per Batch Script steuern
Hallo zusammen,
ich habe eine Frage bzw. ein Problem mit dem VMWare Server 2. Und zwar wollte ich die VM´s per Batch Datei managen. Soll heißen, das ich z.B. die VM´s in den suspend modus versetze und dann kopieren und anschließend wieder starte. Oder die VM´s neustarte etc.
Nur leider bekomme ich das bei dem VMWare Server 2 nicht hin. Die Hilfe ist auch keine große Hilfe bei der Umsetzung.
Weis jemand rat ?
VMWare Server 2 läuft auf einem P4 mit 2,8 Ghz mit Win XP Pro
Vielen Dank schon mal für eure Hilfe
ich habe eine Frage bzw. ein Problem mit dem VMWare Server 2. Und zwar wollte ich die VM´s per Batch Datei managen. Soll heißen, das ich z.B. die VM´s in den suspend modus versetze und dann kopieren und anschließend wieder starte. Oder die VM´s neustarte etc.
Nur leider bekomme ich das bei dem VMWare Server 2 nicht hin. Die Hilfe ist auch keine große Hilfe bei der Umsetzung.
Weis jemand rat ?
VMWare Server 2 läuft auf einem P4 mit 2,8 Ghz mit Win XP Pro
Vielen Dank schon mal für eure Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 97935
Url: https://administrator.de/contentid/97935
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
6 Kommentare
Neuester Kommentar
@M3rlin, wo finde ich den Befehl "vmrum"? Läuft das auch unter VMWare Server 1.x.x.? Was ist eine VMWare-CMD wo finde ich die bzw was ist das?
Gruß und schönes WE
Gruß und schönes WE
Hallo mal an alle zusammen, hier mal ein funktionierendes Script für euch:
:: ############# DOS-Batch zum Sichern von VMs unter VMware Server ################################
::
:: Dieses Script dient dem runterfahren, kopieren und starten
:: der VM unter VMServer 2.x
::
:: geschrieben von Sven Greulich
::
::
:: #################################################################################################
@echo off
:: ############# Verzeichnisse und Variablen definieren #############
::--------------------------------------------------------------------------------------------
:: Hier bitte den Namen des Datastores angeben
set datastore=[standard]
::--------------------------------------------------------------------------------------------
:: Hier bitte den Namen der Virtuellen Maschine angeben
set vmname=Test01
::--------------------------------------------------------------------------------------------
:: Hier bitte den Namen der jeweiligen *.vmx-Datei angeben
set vmxname=Test01.vmx
::--------------------------------------------------------------------------------------------
:: Hier bitte den Pfad zum Verzeichnis der VM angeben
set pfad=D:\Virtual Machines\Test01
:: ############# VMs beenden #############
:: VMs überprüfen, ob sie laufen und wenn nötig herunterfahren
:check0
if exist "%pfad%\*.vmem" goto shutdownvm
if NOT exist "%pfad\*.vmem" goto copy
:shutdownvm
echo Die VM %vmname% wird nun heruntergefahren
cd C:\Program Files (x86)\VMware\VMware Server
call vmrun -T server -u user -p password -h https://127.0.0.1:8333/sdk stop "%datastore% %vmname%/%vmxname%" soft
if errorlevel 1 goto error-cmd
echo.
echo ==} Die VM [%vmname%] wurde heruntergefahren
goto check0
:: ########## Warten, bis alle VMs beendet sind ####################
echo Warte bis alle gestoppt sind
:wait
@Ping localhost -n 10>NUL
if exist "%pfad%\*.vmem" goto wait
:: ############# Kopieraktionen #############
:copy
cd\
echo ==} Der Sicherungsvorgang startet nun.
echo ==} Ich kopiere nun
robocopy "%pfad%" "\\nas-01\%vmname%" /E /M /R:3 /W:10 /LOG:C:\Sicherungsjob\robocopy%vmname%.txt
:: ############# VMs wieder starten #############
echo ==} Der Kopiervorgang wurde beendet.
cd C:\Program Files (x86)\VMware\VMware Server
call vmrun -T server -u user -p password -h https://127.0.0.1:8333/sdk start "%datastore% %vmname%/%vmxname%"
if errorlevel 1 goto error-cmd
echo ==} Die VM %vmname% wurde wieder gestartet.
Goto ende
:: ############# Fehlerbehandlung #############
:error-cmd
echo.
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo
echo Ein Fehler ist aufgetreten!
echo
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Goto ende
:: ############# Ende #############
:ende
exit
Bitte user mit dem Usernamen und password mit dem Passwort ersetzten.
Viel Spaß wünscht euch Euer Phaserman
:: ############# DOS-Batch zum Sichern von VMs unter VMware Server ################################
::
:: Dieses Script dient dem runterfahren, kopieren und starten
:: der VM unter VMServer 2.x
::
:: geschrieben von Sven Greulich
::
::
:: #################################################################################################
@echo off
:: ############# Verzeichnisse und Variablen definieren #############
::--------------------------------------------------------------------------------------------
:: Hier bitte den Namen des Datastores angeben
set datastore=[standard]
::--------------------------------------------------------------------------------------------
:: Hier bitte den Namen der Virtuellen Maschine angeben
set vmname=Test01
::--------------------------------------------------------------------------------------------
:: Hier bitte den Namen der jeweiligen *.vmx-Datei angeben
set vmxname=Test01.vmx
::--------------------------------------------------------------------------------------------
:: Hier bitte den Pfad zum Verzeichnis der VM angeben
set pfad=D:\Virtual Machines\Test01
:: ############# VMs beenden #############
:: VMs überprüfen, ob sie laufen und wenn nötig herunterfahren
:check0
if exist "%pfad%\*.vmem" goto shutdownvm
if NOT exist "%pfad\*.vmem" goto copy
:shutdownvm
echo Die VM %vmname% wird nun heruntergefahren
cd C:\Program Files (x86)\VMware\VMware Server
call vmrun -T server -u user -p password -h https://127.0.0.1:8333/sdk stop "%datastore% %vmname%/%vmxname%" soft
if errorlevel 1 goto error-cmd
echo.
echo ==} Die VM [%vmname%] wurde heruntergefahren
goto check0
:: ########## Warten, bis alle VMs beendet sind ####################
echo Warte bis alle gestoppt sind
:wait
@Ping localhost -n 10>NUL
if exist "%pfad%\*.vmem" goto wait
:: ############# Kopieraktionen #############
:copy
cd\
echo ==} Der Sicherungsvorgang startet nun.
echo ==} Ich kopiere nun
robocopy "%pfad%" "\\nas-01\%vmname%" /E /M /R:3 /W:10 /LOG:C:\Sicherungsjob\robocopy%vmname%.txt
:: ############# VMs wieder starten #############
echo ==} Der Kopiervorgang wurde beendet.
cd C:\Program Files (x86)\VMware\VMware Server
call vmrun -T server -u user -p password -h https://127.0.0.1:8333/sdk start "%datastore% %vmname%/%vmxname%"
if errorlevel 1 goto error-cmd
echo ==} Die VM %vmname% wurde wieder gestartet.
Goto ende
:: ############# Fehlerbehandlung #############
:error-cmd
echo.
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo
echo Ein Fehler ist aufgetreten!
echo
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Goto ende
:: ############# Ende #############
:ende
exit
Bitte user mit dem Usernamen und password mit dem Passwort ersetzten.
Viel Spaß wünscht euch Euer Phaserman
Für alle die eine VMWare nur per geplantem Task starten wollen gibts das ganze auch als schicken 2 Zeiler.
cd C:\Programme\VMware\VMware Server\
vmrun.exe -T server -h https://127.0.0.1:8333/sdk -u USER -p PASSWORD "[standard] TESTVMWARE\TESTVMWARE.vmx"
cd C:\Programme\VMware\VMware Server\ -> Hier wird der Installationspfad von VMWare Server angegeben
vmrun.exe -> Ruft die im Installationspfad liegende vmrun.exe auf
-T server -> Startparameter der angibt das es sich beim System um den VMWare Server handelt
-h https://127.0.0.1:8333/sdk -> Startparameter der den Link zum Weblogin des VMWare Servers angibt (ersetze 127.0.0.1 durch die eigene Adresse des Weblogins)
-u USER -> Benutzername mit dem die VMWare gestartet werden soll (muss VMWare Server Administrationsberechtigungen besitzen)
-p PASSWORD -> Passwort für den oben genannten Benutzer (leider nur im Klartext hinterlegbar)
"[standard] TESTVMWARE\TESTVMWARE.vmx"
-> [standard] = Datastore des VMWare Servers (ggf umbenennen)
-> TESTVMWARE\TESTVMWARE.vmx = Pfad innerhalb des Datastores (z.B. "D:\Virtual Machines\VM01\VM01.vmx") wobei "D:\Virtual Machines" nich angebgeben wird
da dies schon im Datastore "[standard]" hinterlegt ist.
cd C:\Programme\VMware\VMware Server\
vmrun.exe -T server -h https://127.0.0.1:8333/sdk -u USER -p PASSWORD "[standard] TESTVMWARE\TESTVMWARE.vmx"
cd C:\Programme\VMware\VMware Server\ -> Hier wird der Installationspfad von VMWare Server angegeben
vmrun.exe -> Ruft die im Installationspfad liegende vmrun.exe auf
-T server -> Startparameter der angibt das es sich beim System um den VMWare Server handelt
-h https://127.0.0.1:8333/sdk -> Startparameter der den Link zum Weblogin des VMWare Servers angibt (ersetze 127.0.0.1 durch die eigene Adresse des Weblogins)
-u USER -> Benutzername mit dem die VMWare gestartet werden soll (muss VMWare Server Administrationsberechtigungen besitzen)
-p PASSWORD -> Passwort für den oben genannten Benutzer (leider nur im Klartext hinterlegbar)
"[standard] TESTVMWARE\TESTVMWARE.vmx"
-> [standard] = Datastore des VMWare Servers (ggf umbenennen)
-> TESTVMWARE\TESTVMWARE.vmx = Pfad innerhalb des Datastores (z.B. "D:\Virtual Machines\VM01\VM01.vmx") wobei "D:\Virtual Machines" nich angebgeben wird
da dies schon im Datastore "[standard]" hinterlegt ist.