m3rlin
Goto Top

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

Content-ID: 97935

Url: https://administrator.de/contentid/97935

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

M3rlin
M3rlin 26.09.2008 um 15:49:33 Uhr
Goto Top
Hat sich erledigt. Hatte die Syntax an einem Punkt falsch und schon geht nix.
Trotzdem Danke an euch
IT-SAW
IT-SAW 15.10.2008 um 11:41:55 Uhr
Goto Top
Da du es ja zum laufen gebracht hast.

Ich stehe derzeit vor dem selben Problem und wäre froh wenn du diene Batch-Datei(en) allen hier zugänglich machen würdest.

Danke schonmal vorab.
M3rlin
M3rlin 21.10.2008 um 17:42:46 Uhr
Goto Top
Hi IT-Saw,

so, nachdem mein Inet jetzt wieder einwandfrei funktioniert, kann ich auch die Befehle für vmware server 2 einstellen.

:VMWare starten

vmrun -h https://127.0.0.1:8333/sdk -u User -p Password -T server start "[standard] server/vmware.vmx"

:VMware suspend

vmrun -h https://127.0.0.1:8333/sdk -u User -p Password -T server suspend "[standard] server/vmware.vmx"

:VMWare stoppen

vmrun -h https://127.0.0.1:8333/sdk -u User -p Password -T server stop "[standard] server/vmware.vmx"

:VMWare clonen

vmrun -h https://127.0.0.1:8333/sdk -u User -p Password -T server clone "[standard] server/vmware.vmx" "[test] server2/vmware2.vmx" full

:WMWare pausieren

vmrun -h https://127.0.0.1:8333/sdk -u User -p Password -T server pause "[standard] server/vmware.vmx"

:VMWare nicht pausieren

vmrun -h https://127.0.0.1:8333/sdk -u User -p Password -T server unpause "[standard] server/vmware.vmx"

User durch den Admin user ersetzen und Password durch das entsprechende Kennwort.
Server durch den Server auf dem VMWare läuft ersetzen.
vmware.vmx durch die entsprechende .vmx Datei ersetzen.

Das clonen hat bei mir noch nicht so recht hingehauen aber alles andere klappt.
Hoffe, ich konnte Dir dabei helfen
6741
6741 31.10.2008 um 15:16:49 Uhr
Goto Top
@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
phaserman
phaserman 28.01.2010 um 11:19:25 Uhr
Goto Top
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
MrTickelz
MrTickelz 02.02.2010 um 09:33:08 Uhr
Goto Top
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.