soidberg
Goto Top

.vmx Dateien finden und alle stoppen sowie deregistrieren

Hallo liebe Gemeinde,

an folgendem will ich basteln...

Aufgabe (TEIL 1):

Schritt 1:

Es existieren 2 ini´s mit jeweils 13 Rechnernamen. Diese Rechnernamen müssten in Ihre aktuelle IP´s umgesetzt werden.

Aufbau der Ini´s:
PC-01-SA
PC-02-SA
usw..


Schritt 2:

Pro Rechner müssen alle dort befindlichen VM´s (.vmx Dateien) unter "C:\Virtual Maschines" gefunden und in folgenden Befehl umgesetzt werden:

vmrun -T server -h https://%GEFUNDENE IP%:8333/sdk -u USER -p PASS stop "[standard] %PFAD\GEFUNDENE VMX DATEI%.vmx"  
vmrun -T server -h https://%GEFUNDENE IP%:8333/sdk -u USER -p PASS unregister "[standard] %PFAD\GEFUNDENE VMX DATEI% .vmx"  

Ziel:

ALLE VM´s auf sämtlichen in EINER Ini aufgeführten Rechnernamen zu stoppen und zu deregistrieren.


Aufgabe (TEIL 2):

Das Registrieren und starten einzelner VM´s anhand der Ini´s

Schritt 1:

Ini´s wieder in IP umsetzen

Schritt 2:

Mittels eines temporären vbs:

:: Setze Variable und erstelle vbs
set "Eingabe=%temp%\Eingabe.vbs"  
echo WScript.Echo InputBox("Bitte den Pfad und .vmx Dateinamen eingeben", "Pfad und .vmx Dateinamen", "Beispiel: OL50\Windows XP.vmx")>"%Eingabe%"  
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i"  
del "%Eingabe%"  
if "%Neu%"=="" goto :eof  

die Befehle zusammenpacken:

vmrun -T server -h https://**%GEFUNDENE IP%**:8333/sdk -u USER -p PASS register "[standard] %NEU%.vmx"  
vmrun -T server -h https://**%GEFUNDENE IP%**:8333/sdk -u USER -p PASS start "[standard] %NEU%.vmx"  

Ziel:
Einzelne VM´s auf allen Rechner innerhalb EINER ausgesuchten INI zu registrieren und zu starten.


Problem bei beiden Aufgaben:

Ich habe noch starke Probleme beim Auslesen von Dateien und der daraus resultierenden weiterverarbeitung. Das umsetzen von Rechnernamen in IP und anschliessenden Suchvorgang, der Übergabe etc.

Wie würdet Ihr diese Aufgabe angehen?

In Hoffnung auf Lösungsansätze verbleibe ich,

mit besten Grüßen

Soidberg

Content-Key: 118751

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

Printed on: April 19, 2024 at 19:04 o'clock

Mitglied: 60730
60730 Jun 22, 2009 at 13:28:59 (UTC)
Goto Top
Servus,

für was genau ist denn das Script?

Ein Script, das temporäres .vbs benutzt ist "naja"... (duck vor Biber & Bastla & Miniversum)

Aber, ein Script, das eine Eingabe benötigt ist .....(ärgs)

Wie würdet Ihr diese Aufgabe angehen?
Ist das vom Fragesteller der Aufgabe (TEIL 1) so vorgegeben?

Welchen Zettel bekommst du /wir, wenn wir dir die Lösung vorexerzieren?

btw: Ich hab ein script geschrieben, das via VMware Consolidated Backup Framework und vcbvmname alle aktuellen Vms aussliesst und nicht auf "Krücken" wie ini Files mit 13 Systemen setzt.
Und das wäre dann "mein" Weg eine Aufgabe - von der ich nicht weiß - ob es die gleiche ist - zu lösen.

Gruß
Member: Soidberg
Soidberg Jun 22, 2009 at 13:56:15 (UTC)
Goto Top
Hallo Timo,

danke für Deine schnelle Reaktion.

Zitat von @60730:
Servus,

für was genau ist denn das Script?

Ich bediene 2 Schulungsräume a 13 Rechnern auf denen VM´verteilt und eingerichtet werden müssen. Die hier angegebenen "Aufgaben" sollen in mein bisheriges Skript implemntiert werden sodass ich zukünftig nicht immer runter in die Räume rennen darf um die verteilten Maschinen in das Inventory zu heben oder sie zu entfernen.

> Wie würdet Ihr diese Aufgabe angehen?
Ist das vom Fragesteller der Aufgabe (TEIL 1) so vorgegeben?

Bei dieser Frage geht es um die technische Umsetzung...

Welchen Zettel bekommst du /wir, wenn wir dir die Lösung
vorexerzieren?

???? Bedauere, ich verstehe deine Frage nicht.

btw: Ich hab ein script geschrieben, das via VMware Consolidated
Backup Framework und vcbvmname alle aktuellen Vms aussliesst und nicht
auf "Krücken" wie ini Files mit 13 Systemen setzt.
Und das wäre dann "mein" Weg eine Aufgabe - von der
ich nicht weiß - ob es die gleiche ist - zu lösen.

Da Rechnernamen sich in den Schulungsräumen (wenn auch selten) auch ändern können würde ich die Namen nicht in das Skript selber schreiben. Da dynamische IP´s vergeben werden, sollen die Namen immer frisch in IP aufgelöst werden.
Weiterhin sind es 2 Räume die unabhängig von einander bedient werden müssen weshalb ich auf die Idee mit den 2 Ini als Quelle kam.

ByTheWay:

Das ganze ist nur eine "Krücke" weil meine Firma nicht versteht das wir da unten einfach nur den LabManager benötigen....
Aber ich bewege mich lieber auf Krücken vorwärts als garnicht!

LG Soidberg
Mitglied: 60730
60730 Jun 22, 2009 at 15:11:08 (UTC)
Goto Top
Zitat von @Soidberg:
Hallo Timo,

danke für Deine schnelle Reaktion.

Servus, wahrscheinlich "trotz" oder genau wegen der schnellen Reaktion - reden wir aneinander vorbei?

> Zitat von @60730:
> ----
> Servus,
>
> für was genau ist denn das Script?
"welche Software von VM? Player Server?
Bei dieser Frage geht es um die technische Umsetzung...
>
> btw: Ich hab ein script geschrieben, das via VMware Consolidated
> Backup Framework und vcbvmname alle aktuellen Vms aussliesst und
nicht auf "Krücken" wie ini Files mit 13 Systemen setzt.
Sprich "auslesen welche vms es gibt - anstatt diese statisch in text Dateien zu schreiben, die entweder .ini heissen, oder .cmd/bat
> Und das wäre dann "mein" Weg eine Aufgabe - von
der ich nicht weiß - ob es die gleiche ist - zu lösen.

Da Rechnernamen sich in den Schulungsräumen (wenn auch selten)
auch ändern können würde ich die Namen nicht in das
Skript selber schreiben. Da dynamische IP´s vergeben werden,
sollen die Namen immer frisch in IP aufgelöst werden.

? Poste doch mal dein Script...

Aber ich bewege mich lieber auf Krücken vorwärts als
garnicht!


naja und ich brauch meine Krücken schon für was anderes face-wink



LG Soidberg

zurück
Member: Soidberg
Soidberg Jun 22, 2009 at 15:40:48 (UTC)
Goto Top
@Timo

"welche Software von VM? Player Server?

Es wird VMWare Server 2.0.1 eingesetzt auf WIndows XP SP3 Systemen.

Sprich "auslesen welche vms es gibt - anstatt diese statisch in
text Dateien zu schreiben, die entweder .ini heissen, oder .cmd/bat

Korrekt, die VM müssen auf jedem Rechner ermittelt werden, siehe Aufgabe 1 / Schritt 2.
Die Rechnernamen sind dagegen fix und diese sollen/müssen mit der IP im Befehl angegeben sein wenn ich Sie aus einem anderen Vlan steuern will (Namensauflösung hängt :0().

? Poste doch mal dein Script...

Gute Idee, aber bitte nicht geschockt sein. Bin halt kein Programmierer und die Umsetzung ist aus der Not heraus geboren:

@echo off & setlocal

Title Administration

:STARTMENUE
cls
echo.
echo    ################################################
echo    #                                              #
echo    # [STARTMENš] Sageacademy Administration 	  #
echo    #                                              #
echo    ################################################
echo.
echo Schulungsraum ausw„hlen:
echo =================
echo.
echo    	[1] VILLINGEN
echo   	[2] KARLSRUHE
echo.
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Raum ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_MENUE  
if "%AuswahlEingabe%"=="2" goto KAR_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto STARTMENUE


::VILLINGEN
:VIL_MENUE
cls
echo.
echo    ##################
echo    #                #
echo    # Raum Villingen #
echo    #                #
echo    ##################
echo.
echo Was soll mit den Rechnern passieren? :
echo =====================================
echo.
echo    	[1] STARTEN
echo   	[2] NEUSTARTEN
echo   	[3] HERUNTERFAHREN
echo		[4] PINGEN
echo		[5] VM VERTEILEN
echo         [6] VM L™SCHEN
echo         [7] VM'S AUFLISTEN  
echo.
echo    	[8] ZURšCK ZUM STARTMENš
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_START_ALL  
if "%AuswahlEingabe%"=="2" goto VIL_RESTART_ALL  
if "%AuswahlEingabe%"=="3" goto VIL_SHUTDOWN_ALL  
if "%AuswahlEingabe%"=="4" goto VIL_PING_ALL  
if "%AuswahlEingabe%"=="5" goto VIL_START_COPYJOB  
if "%AuswahlEingabe%"=="6" goto VIL_DEL_VM  
if "%AuswahlEingabe%"=="7" goto VIL_LIST_ALL  
if "%AuswahlEingabe%"=="8" goto STARTMENUE  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto VIL_MENUE


::VILLINGEN RECHNER STARTEN
:VIL_START_ALL
cls
@echo off
"%CD%\bin\mc-wol" 00:1A:A0:5E:E8:11  
"%CD%\bin\mc-wol" 00:1a:a0:5e:d6:81  
"%CD%\bin\mc-wol" 00:1a:a0:60:0a:01  
"%CD%\bin\mc-wol" 00:1a:a0:60:08:01  
"%CD%\bin\mc-wol" 00:1a:a0:5d:bc:f1  
"%CD%\bin\mc-wol" 00:1a:a0:60:07:91  
"%CD%\bin\mc-wol" 00:1a:a0:60:0a:41  
"%CD%\bin\mc-wol" 00:1a:a0:60:0a:b1  
"%CD%\bin\mc-wol" 00:1a:a0:60:07:81  
"%CD%\bin\mc-wol" 00:1a:a0:5e:e7:d1  
"%CD%\bin\mc-wol" 00:1a:a0:60:09:51  
"%CD%\bin\mc-wol" 00:1a:a0:5e:e5:91  
"%CD%\bin\mc-wol" 00:1a:a0:60:07:91  

::LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;VIL;%username%;START >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
:KONTROLLPING1
cls
echo.
echo.
echo Magic Paket ist versendet worden, soll ein Kontrollping gestartet werden? :
echo ===========================================================================
echo.
echo    	[1] PING ZUR KONTROLLE STARTEN
echo		[2] ZURšCK ZUM MENš VILLINGEN
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_PING_ALL  
if "%AuswahlEingabe%"=="2" goto VIL_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KONTROLLPING1


::VILLINGEN RECHNER NEUSTARTEN
:VIL_RESTART_ALL
@echo off
cls
echo.
echo ACHTUNG ALLE COMPUTER IN VILLINGEN WERDEN NEU GESTARTET!!!! :
echo =============================================================
echo.
echo    	[1] JA, JETZT NEUSTARTEN!
echo    	[2] ZURšCK ZUM HAUPTMENš VILLINGEN
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_GO_RESTART  
if "%AuswahlEingabe%"=="2" goto VIL_MENUE  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto VIL_RESTART_ALL

:VIL_GO_RESTART
start shutdown -r -f -t 05 -m \\FFM-021835-SA
start shutdown -r -f -t 05 -m \\FFM-021839-SA
start shutdown -r -f -t 05 -m \\FFM-021845-SA
start shutdown -r -f -t 05 -m \\FFM-021846-SA
start shutdown -r -f -t 05 -m \\FFM-021847-SA
start shutdown -r -f -t 05 -m \\FFM-021848-SA
start shutdown -r -f -t 05 -m \\FFM-021849-SA
start shutdown -r -f -t 05 -m \\FFM-021850-SA
start shutdown -r -f -t 05 -m \\FFM-021851-SA
start shutdown -r -f -t 05 -m \\FFM-021855-SA
start shutdown -r -f -t 05 -m \\FFM-021856-SA
start shutdown -r -f -t 05 -m \\FFM-021857-SA
start shutdown -r -f -t 05 -m \\FFM-021858-SA

::LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;VIL;%username%;SHUTDOWN >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
:KONTROLLPING2
cls
echo.
echo.
echo Neustart wurde initialisiert, soll ein Kontrollping gestartet werden? :
echo ======================================================================
echo.
echo    	[1] PING ZUR KONTROLLE STARTEN
echo		[2] ZURšCK ZUM MENš VILLINGEN
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_PING_ALL  
if "%AuswahlEingabe%"=="2" goto VIL_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KONTROLLPING2


::VILLINGEN RECHNER HERUNTERFAHREN
:VIL_SHUTDOWN_ALL
@echo off
cls
echo.
echo Achtung! ALLE Rechner in Villingen werden heruntergefahren, sicher? :
echo =====================================================================
echo.
echo    	[1] JA, JETZT HERUNTERFAHREN!
echo    	[2] ZURšCK ZUM HAUPTMENš VILLINGEN
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_GO_SHUTDOWN  
if "%AuswahlEingabe%"=="2" goto VIL_MENUE  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto VIL_SHUTDOWN_ALL

:VIL_GO_SHUTDOWN
start shutdown -s -f -t 05 -m \\FFM-021835-SA
start shutdown -s -f -t 05 -m \\FFM-021839-SA
start shutdown -s -f -t 05 -m \\FFM-021845-SA
start shutdown -s -f -t 05 -m \\FFM-021846-SA
start shutdown -s -f -t 05 -m \\FFM-021847-SA
start shutdown -s -f -t 05 -m \\FFM-021848-SA
start shutdown -s -f -t 05 -m \\FFM-021849-SA
start shutdown -s -f -t 05 -m \\FFM-021850-SA
start shutdown -s -f -t 05 -m \\FFM-021851-SA
start shutdown -s -f -t 05 -m \\FFM-021855-SA
start shutdown -s -f -t 05 -m \\FFM-021856-SA
start shutdown -s -f -t 05 -m \\FFM-021857-SA
start shutdown -s -f -t 05 -m \\FFM-021858-SA

::LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;VIL;%username%;SHUTDOWN >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
:KONTROLLPING3
cls
echo.
echo.
echo Remoteshutdown wurden initialisiert, soll ein Kontrollping gestartet werden? :
echo ==============================================================================
echo.
echo    	[1] PING ZUR KONTROLLE STARTEN
echo		[2] ZURšCK ZUM MENš VILLINGEN
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto VIL_PING_ALL  
if "%AuswahlEingabe%"=="2" goto VIL_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KONTROLLPING3


::VILLINGEN RECHNER PINGEN
:VIL_PING_ALL
cd "%CD%\bin"  
cls
start piing FFM-021835-SA
start piing FFM-021839-SA
start piing FFM-021845-SA
start piing FFM-021846-SA
start piing FFM-021847-SA
start piing FFM-021848-SA
start piing FFM-021849-SA
start piing FFM-021850-SA
start piing FFM-021851-SA
start piing FFM-021855-SA
start piing FFM-021856-SA
start piing FFM-021857-SA
start piing FFM-021858-SA
cd..
:: LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;VIL;%username%;PING >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
cls
echo.
echo Ping ist gestartet...
echo.
echo Lade Men Villingen...
echo.
ping 127.0.0.1 -n 2 >nul
goto VIL_MENUE


::VM VERTEILEN VILLINGEN
:VIL_START_COPYJOB
setlocal
cls
echo.
Echo    Starte Eingabemaske fr den Ordnernamen ...

:: Setze Variable und erstelle vbs
set "Eingabe=%temp%\Eingabe.vbs"  
echo WScript.Echo InputBox("Bitte den Ordnernamen eingeben", "Ordnername der VM", "ORDNERNAME DARF KEIN LEERZEICHEN ENTHALTEN!!")>"%Eingabe%"  
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i"  
del "%Eingabe%"  
if "%Neu%"=="" goto :eof  

::übergebe die Eingabe an den Copyjob
cd "%CD%\bin"  
call VIL.cmd VIL %NEU%
del "%temp%\Eingabe.vbs"  
cd..
goto VIL_MENUE


::VM L™SCHEN 
:VIL_DEL_VM
setlocal
cls
echo.
Echo    Starte Eingabemaske zum l”schen einer VM in Villingen...

:: Setze Variable und erstelle vbs
set "Eingabe=%temp%\Eingabe.vbs"  
echo WScript.Echo InputBox("Bitte den Ordnernamen der VM eingeben", "Ordnername der VM", "ORDNERNAME DARF KEIN LEERZEICHEN ENTHALTEN!!")>"%Eingabe%"  
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i"  
del "%Eingabe%"  
if "%Neu%"=="" goto :eof  

::ÜBERGEBE DIE EINGABE
del \\FFM-021835-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021835-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021839-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021839-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021845-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021845-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021846-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021846-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021847-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021847-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021848-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021848-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021849-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021849-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021850-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021850-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021851-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021851-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021855-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021855-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021856-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021856-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021857-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021857-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021858-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021858-SA\c$\Virtua~1\%NEU% /S /Q
echo.
del "%temp%\Eingabe.vbs"  
goto VIL_MENUE


::ALLE VM´S IN VILLINGEN AUFLISTEN
:VIL_LIST_ALL
cd "%CD%\bin"  
start VIL_LIST_ALL.cmd
cd..
goto VIL_MENUE


::KARLSRUHE
:KAR_MENUE
cls
echo.
echo    ##################
echo    #                #
echo    # Raum Karlsruhe #
echo    #                #
echo    ##################
echo.
echo Was soll mit den Rechnern passieren? :
echo =====================================
echo.
echo    	[1] STARTEN
echo   	[2] NEUSTARTEN
echo   	[3] HERUNTERFAHREN
echo		[4] PINGEN
echo		[5] VM VERTEILEN
echo         [6] VM L™SCHEN
echo         [7] VM'S AUFLISTEN  
echo.
echo    	[8] ZURšCK ZUM STARTMENš
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto KAR_START_ALL  
if "%AuswahlEingabe%"=="2" goto KAR_RESTART_ALL  
if "%AuswahlEingabe%"=="3" goto KAR_SHUTDOWN_ALL  
if "%AuswahlEingabe%"=="4" goto KAR_PING_ALL  
if "%AuswahlEingabe%"=="5" goto KAR_START_COPYJOB  
if "%AuswahlEingabe%"=="6" goto KAR_DEL_VM  
if "%AuswahlEingabe%"=="7" goto KAR_LIST_ALL  
if "%AuswahlEingabe%"=="8" goto STARTMENUE  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KAR_MENUE


::KARLSRUHE RECHNER STARTEN
:KAR_START_ALL
cls
@echo off
"%CD%\bin\mc-wol" 00:1a:a0:5e:d9:f1  
"%CD%\bin\mc-wol" 00:1a:a0:60:07:d1  
"%CD%\bin\mc-wol" 00:1a:a0:60:09:51  
"%CD%\bin\mc-wol" 00:1a:a0:60:08:c1  
"%CD%\bin\mc-wol" 00:1a:a0:5e:e4:91  
"%CD%\bin\mc-wol" 00:18:8b:58:48:11  
"%CD%\bin\mc-wol" 00:18:8b:58:48:01  
"%CD%\bin\mc-wol" 00:1a:a0:5e:e8:f1  
"%CD%\bin\mc-wol" 00:1a:a0:60:08:51  
"%CD%\bin\mc-wol" 00:1a:a0:5f:fc:51  
"%CD%\bin\mc-wol" 00:1a:a0:60:08:21  
"%CD%\bin\mc-wol" 00:1a:a0:60:07:f1  
"%CD%\bin\mc-wol" 00:1a:a0:60:07:51  

::LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;KAR;%username%;START >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
:KONTROLLPING4
cls
echo.
echo.
echo Magic Paket ist versendet worden, soll ein Kontrollping gestartet werden? :
echo ===========================================================================
echo.
echo    	[1] PING ZUR KONTROLLE STARTEN
echo		[2] ZURšCK ZUM MENš KARLSRUHE
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto KAR_PING_ALL  
if "%AuswahlEingabe%"=="2" goto KAR_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KONTROLLPING4


::KARLSRUHE RECHNER NEUSTARTEN
:KAR_RESTART_ALL
@echo off
cls
echo.
echo ACHTUNG ALLE COMPUTER IN KARSLRUHE WERDEN NEUGESTARTET!!!! :
echo ============================================================
echo.
echo    	[1] JA, JETZT NEUSTARTEN!
echo    	[2] ZURšCK ZUM HAUPTMENš KARLSRUHE
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto KAR_GO_RESTART  
if "%AuswahlEingabe%"=="2" goto KAR_MENUE  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KAR_RESTART_ALL

:KAR_GO_RESTART
start shutdown -r -f -t 05 -m \\FFM-021852-SA
start shutdown -r -f -t 05 -m \\FFM-021840-SA
start shutdown -r -f -t 05 -m \\FFM-021833-SA
start shutdown -r -f -t 05 -m \\FFM-021836-SA
start shutdown -r -f -t 05 -m \\FFM-021838-SA
start shutdown -r -f -t 05 -m \\FFM-021960-SA
start shutdown -r -f -t 05 -m \\FFM-021959-SA
start shutdown -r -f -t 05 -m \\FFM-021843-SA
start shutdown -r -f -t 05 -m \\FFM-021844-SA
start shutdown -r -f -t 05 -m \\FFM-021837-SA
start shutdown -r -f -t 05 -m \\FFM-021842-SA
start shutdown -r -f -t 05 -m \\FFM-021834-SA
start shutdown -r -f -t 05 -m \\FFM-021841-SA

::LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;KAR;%username%;SHUTDOWN >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
:KONTROLLPING5
cls
echo.
echo.
echo Neustart wurde initialisiert, soll ein Kontrollping gestartet werden? :
echo ======================================================================
echo.
echo    	[1] PING ZUR KONTROLLE STARTEN
echo		[2] ZURšCK ZUM MENš KARLSRUHE
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto KAR_PING_ALL  
if "%AuswahlEingabe%"=="2" goto KAR_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KONTROLLPING5


::KARLSRUHE RECHNER HERUNTERFAHREN
:KAR_SHUTDOWN_ALL
@echo off
cls
echo.
echo Achtung! ALLE Rechner in Karlsruhe werden heruntergefahren, sicher? :
echo =====================================================================
echo.
echo    	[1] JA, JETZT HERUNTERFAHREN!
echo    	[2] ZURšCK ZUM HAUPTMENš KARLSRUHE
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto KAR_GO_SHUTDOWN  
if "%AuswahlEingabe%"=="2" goto KAR_MENUE  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KAR_SHUTDOWN_ALL

:KAR_GO_SHUTDOWN
start shutdown -s -f -t 05 -m \\FFM-021852-SA
start shutdown -s -f -t 05 -m \\FFM-021840-SA
start shutdown -s -f -t 05 -m \\FFM-021833-SA
start shutdown -s -f -t 05 -m \\FFM-021836-SA
start shutdown -s -f -t 05 -m \\FFM-021838-SA
start shutdown -s -f -t 05 -m \\FFM-021960-SA
start shutdown -s -f -t 05 -m \\FFM-021959-SA
start shutdown -s -f -t 05 -m \\FFM-021843-SA
start shutdown -s -f -t 05 -m \\FFM-021844-SA
start shutdown -s -f -t 05 -m \\FFM-021837-SA
start shutdown -s -f -t 05 -m \\FFM-021842-SA
start shutdown -s -f -t 05 -m \\FFM-021834-SA
start shutdown -s -f -t 05 -m \\FFM-021841-SA

::LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;KAR;%username%;SHUTDOWN >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
:KONTROLLPING6
cls
echo.
echo.
echo Remoteshutdown wurden initialisiert, soll ein Kontrollping gestartet werden? :
echo ==============================================================================
echo.
echo    	[1] PING ZUR KONTROLLE STARTEN
echo		[2] ZURšCK ZUM MENš KARLSRUHE
echo   	[3] EXIT
echo.
set /p AuswahlEingabe=Aktion ausw„hlen:
:: -------------------------------------
if "%AuswahlEingabe%"=="1" goto KAR_PING_ALL  
if "%AuswahlEingabe%"=="2" goto KAR_MENUE  
if "%AuswahlEingabe%"=="3" goto eof  
cls
echo.
echo FALSCHE EINGABE!
echo.
ping 127.0.0.1 -n 2 >nul
goto KONTROLLPING6


::KARLSRUHE RECHNER PINGEN
:KAR_PING_ALL
cd "%CD%\bin"  
cls
start piing FFM-021852-SA
start piing FFM-021840-SA
start piing FFM-021833-SA
start piing FFM-021836-SA
start piing FFM-021838-SA
start piing FFM-021960-SA
start piing FFM-021959-SA
start piing FFM-021843-SA
start piing FFM-021844-SA
start piing FFM-021837-SA
start piing FFM-021842-SA
start piing FFM-021834-SA
start piing FFM-021841-SA
cd..
:: LOG SCHREIBEN
REM ###########################################################################################
REM LOG
REM ###########################################################################################
FOR /f "tokens=*" %%G IN ('time/t') DO set _time=%%G  
SET _time=%_time:~0,2%%_time:~3,2%
ENDLOCAL&SET _time=%_time%
for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set _date=%%c%%b%%a  
echo %_date%;%_time%;KAR;%username%;PING >> ""\\ffm-1\VirtuelleMaschinen\LOG\_log.txt"  
REM ###########################################################################################
cls
echo.
echo Ping ist gestartet...
echo.
echo Lade Men Karlsruhe...
echo.
ping 127.0.0.1 -n 2 >nul
goto KAR_MENUE


::VM VERTEILEN KARLSRUHE
:KAR_START_COPYJOB
setlocal
cls
echo.
Echo    Starte Eingabemaske fr den Ordnernamen ...

:: Setze Variable und erstelle vbs
set "Eingabe=%temp%\Eingabe.vbs"  
echo WScript.Echo InputBox("Bitte den Ordnernamen eingeben", "Ordnername der VM", "ORDNERNAME DARF KEIN LEERZEICHEN ENTHALTEN!!")>"%Eingabe%"  
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i"  
del "%Eingabe%"  
if "%Neu%"=="" goto :eof  

::übergebe die Eingabe an den Copyjob
cd "%CD%\bin"  
call KAR.cmd KAR %NEU%
del "%temp%\Eingabe.vbs"  
cd..
goto KAR_MENUE


::VM LÖSCHEN 
:KAR_DEL_VM
setlocal
cls
echo.
Echo    Starte Eingabemaske zum l”schen einer VM in Karlsruhe...

:: Setze Variable und erstelle vbs
set "Eingabe=%temp%\Eingabe.vbs"  
echo WScript.Echo InputBox("Bitte den Ordnernamen der VM eingeben", "Ordnername der VM", "ORDNERNAME DARF KEIN LEERZEICHEN ENTHALTEN!!")>"%Eingabe%"  
for /f "delims=" %%i in ('cscript //nologo "%Eingabe%"') do set "Neu=%%i"  
del "%Eingabe%"  
if "%Neu%"=="" goto :eof  

::ÜBERGEBE DIE EINGABE
del \\FFM-021852-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021852-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021840-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021840-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021833-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021833-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021836-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021836-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021838-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021838-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021960-SA\c$\Virtua~1\%NEU% /S /Q
rd\\FFM-021960-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021959-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021959-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021843-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021843-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021844-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021844-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021837-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021837-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021842-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021842-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021834-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021834-SA\c$\Virtua~1\%NEU% /S /Q

del \\FFM-021841-SA\c$\Virtua~1\%NEU% /S /Q
rd \\FFM-021841-SA\c$\Virtua~1\%NEU% /S /Q
echo.
del "%temp%\Eingabe.vbs"  
goto KAR_MENUE


::ALLE VM´S IN KARLSRUHE AUFLISTEN
:KAR_LIST_ALL
cd "%CD%\bin"  
start KAR_LIST_ALL.cmd
cd..
goto KAR_MENUE

In dieses Flickwerk (was allerdings funktioniert) soll nun halt die obigen Möglichkeiten (ALLE deregistrieren sowie einzelne registrieren und starten) integriert werden.**

So, und nun dürft Ihr mich wegen dem Skriptgerüst hauen ...*schmunzel*, ein Ansatz für meine Problematik wäre mir natürlich lieber anstatt jetzt das bestehende zu analysieren. Im gesammten (das sind die letzten Funktionen die fehlen) kann man es dann später immernoch "optimieren" bzw. zwinglichst grobe Anfängerfehler korrigieren.

LG Soidberg