Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Befehl aus einer Batch-Datei nach einer bestimmten Zeit abbrechen und mit dem nächsten fortfahren

Frage Virtualisierung

Mitglied: stefanx

stefanx (Level 1) - Jetzt verbinden

20.08.2009, aktualisiert 15:03 Uhr, 8051 Aufrufe, 2 Kommentare

Hallo zusammen!

Folgendes Problem:

Ich habe einen NT4 Server und eine NT4 Workstation virtualisiert. Nun sollen die VMs per Batch abends herunterfahren und gesichert werden.

Bei den NT4 Maschinen hab ich schon probiert die HAL.dll mit der aus dem SP6a zu ersetzen und den Reg Eintrag poweroffaftershutdown auf 1 zu setzen, damit die Maschine ohne manuelles ausschalten herunterfährt. Jedoch ohne Erfolg.

Nun habe ich das Problem das der stop Befehl von vmware-cmd auf einen Rückgabewert von VMWare Server 1.0.9 wartet und diesen nicht bekommt, weil die Maschine schließlich nicht aus geht.

Hat jmd. eine Idee was ich noch machen könnte?? Vllt. Timeout einbauen, damit er den nächsten Befehl abarbeiten kann (z.B. dann stop hard damit die Machine aus geht)??

Gruß, Stefan
Mitglied: bastla
20.08.2009 um 15:47 Uhr
Hallo .stefan und willkommen im Forum!

Die folgende Skizze soll zeigen, wie ein "Befehl" (eine weitere Batchdatei) gestartet und nach Ablauf der angegebenen Zeit abgebrochen werden könnte:
01.
@echo off & setlocal 
02.
set "Dauer=20" 
03.
::Einheiten: s=Sekunden, n=Minuten 
04.
set "Einheit=s" 
05.
 
06.
set G=%GetTime.vbs 
07.
set "Zeit=%temp%\Zeit.txt" 
08.
set "Befehl=%temp%\Befehl.cmd" 
09.
 
10.
set "Titel=StillRunning" 
11.
>%Befehl%  echo @echo off ^& setlocal 
12.
>>%Befehl% echo pause 
13.
>>%Befehl% echo del %Zeit% 
14.
 
15.
>%G% echo WScript.Echo DateAdd("%Einheit%","%Dauer%",Now) 
16.
 
17.
for /f "delims=" %%i in ('cscript //nologo %G%') do set "Bis=%%i" 
18.
>%Zeit% echo %Bis% 
19.
 
20.
start "%Titel%" %Befehl% 
21.
:Loop 
22.
set "Jetzt=%date% %time:~,8%" 
23.
if exist %Zeit% if "%Jetzt%" lss "%Bis%" goto :loop 
24.
 
25.
if exist %Zeit% ( 
26.
    echo Zeitablauf 
27.
    taskkill /f /fi "WINDOWTITLE eq %Titel% - %Befehl%">nul 
28.
29.
::aufräumen 
30.
del %G% 
31.
del %Befehl% 
32.
der %Zeit% 
33.
 
34.
echo Es geht weiter
Hier wird tatsächlich nur der "pause"-Befehl (siehe Zeile 12) in einer, durch diesen Batch selbst erstellten, temporären Batchdatei ausgeführt. Soferne nicht innerhalb des vorgegebenen Zeitraumes von 20 Sekunden die "Pause" beendet (und dadurch in weiterer Folge die Datei %Zeit% gelöscht) wird, läuft der Batch weiter und beendet den Task der temporären Batchdatei.

Natürlich kann auch ein bestehender Batch aufgerufen werden (der Pfad muss dazu in %Befehl% stehen). Dieser Batch müsste dann sein Ende ebenfalls durch Löschen der Datei lt %Zeit% signalisieren.

Einschränkung: Bei einem Monatswechsel während der vorgegebenen Laufzeit des "Befehles" (also zB Start am 31.8. um 23:30, Laufzeit 50 Minuten) erfolgt sofort ein Abbruch (da der "Bis"-Zeitpunkt mit "01.09.2009 00:20:00" ermittelt würde und der Vergleichswert "31.08.2009 23:30:00" wegen der Art des Vergleiches "größer" wäre). Bei Bedarf ließe sich allerdings durch Umformatieren der Datumswerte auch diese Einschränkung beseitigen).

Grüße
bastla
Bitte warten ..
Mitglied: stefanx
26.08.2009 um 11:59 Uhr
Hallo

Erstmal Danke für deine Hilfe. Habe es jedoch jetzt anders gelöst und zwar mit PSTools. Davon verwende ich die PSShutdown.exe zum herunterfahren der VMs. War die einfachere Weg. ;)

Gruß, Stefan
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...