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

Exchange per Script mit if und else für Backup stoppen und wieder starten

Frage Entwicklung Batch & Shell

Mitglied: -Jarik-

-Jarik- (Level 1) - Jetzt verbinden

22.05.2007, aktualisiert 24.05.2007, 5748 Aufrufe, 6 Kommentare

Folgende Situation,

auf einem Exchange-Server läuft zum erstellen der Backups Acronis True Image Enterprise Server.
Im Moment sind von den Vor- / Nachbefehlen her 2 winzige Scripts mit eingebettet, um die Datenbank stillzulegen während das Backup läuft.

NetStop.bat
/
net stop "POP3 Connector für Windows"
net stop "Exchange Informationsspeicher"
/


Mein NetStart.bat ist demnach fast das gleiche, nur in umgekehrter Reihenfolge.
Was ich allerdings noch hinterlegen will ist eine Abfrage um zu testen ob der Dienst bereits schon im voraus gestoppt / gestartet wurde.

Im Endeffekt sollte es dann so aussehen:


/
Wenn "POP3 Connector für Windows" schon gestoppt
dann überspringe net stop "POP3 Connector für Windows"

ansonsten net stop "POP3 Connector für Windows"

Wenn "Exchange Informationsspeicher" schon gestoppt
dann überspringe net stop "Exchange Informationsspeicher"

ansonsten net stop "Exchange Informationsspeicher"
/

Wäre super wenn mir jemand von der Syntax her behilflich sein könnte.
Mitglied: Iwan
22.05.2007 um 16:24 Uhr
http://de.wikibooks.org/wiki/Batch-Programmierung:_Beispiele
schau da mal unter "TaskList-Abfrage"

ansonsten vielleicht irgendwie per Errorlabfrage oder so:
net start "Dienstname" 2> net start "Dienstname"
Bitte warten ..
Mitglied: bastla
22.05.2007 um 16:45 Uhr
Hallo -Jarik- und willkommen im Forum!

Vielleicht entsteht im Beitrag Batchdatei prüft ob Dienst gestartet ist auch etwas für Dich Nützliches ...

Grüße
bastla
Bitte warten ..
Mitglied: -Jarik-
22.05.2007 um 17:05 Uhr
Vielen Dank für eure beiden Antworten

Auch an euch ein herzliches "Hallo Welt" ^^
Bitte warten ..
Mitglied: -Jarik-
23.05.2007 um 14:57 Uhr
Ich bin jetzt schon ein wenig weiter gekommen soweit es mir meine Zeit erlaubt....
Im Moment fehlt mir aber noch eine Funktion mit der ich einen zusammenhängenden Namen deklarieren kann.

Mit ('sc getkeyname "Microsoft Connector for POP3 Mailboxes"') geht es noch nicht, ich gehe davon aus das ein anderes Zeichen in diesem Zusammenhang mehr Erfolg bringtum klarzustellen das es sich dabei um einen einzigen Dienst handelt.

Funktioniert:

echo off
setlocal EnableDelayedExpansion

REM Pruefen und bei Status "nicht gestartet" starten von: SSDP-Suchdienst
set status=STOPPED
for /f "tokens=6 delims= " %%a in ('sc getkeyname SSDP-Suchdienst') do set dienst=%%a
echo Dienst: %dienst%
for /f "tokens=3 skip=3 delims=: " %%b in ('sc query %dienst%') do if /i "%%b" == "RUNNING" set status=%%b
echo Status: %status%
if /i %status% == RUNNING net stop %"dienst"%



Funktioniert noch nicht:

echo off
setlocal EnableDelayedExpansion

REM Pruefen und bei Status "nicht gestartet" starten von: Microsoft Connector for POP3 Mailboxes
set status=STOPPED
for /f "tokens=6 delims= " %%a in ('sc getkeyname "Microsoft Connector for POP3 Mailboxes"') do set dienst=%%a
echo Dienst: %dienst%
for /f "tokens=3 skip=3 delims=: " %%b in ('sc query %dienst%') do if /i "%%b" == "RUNNING" set status=%%b
echo Status: %status%
if /i %status% == RUNNING net stop %"dienst"%


Kann mir jemand bitte sagen in wiefern ich die Anführungszeichen abändern bzw ergänzen muss?

Vielen Dank für eure Hilfe :D
Bitte warten ..
Mitglied: bastla
23.05.2007 um 15:34 Uhr
Hallo -Jarik-!

Zunächst nochmals der Hinweis auf den oben genannten Beitrag - dort findest Du einige (neue) Ansätze, wie es noch einfacher gehen könnte ...
Falls Du trotzdem bei Deiner Lösung bleiben willst, könntest Du es so versuchen:
01.
@echo off & setlocal 
02.
REM Pruefen und bei Status "gestartet" stoppen von: Microsoft Connector for POP3 Mailboxes 
03.
set status=UNBEKANNT 
04.
for /f "tokens=5* delims= " %%a in ('sc getkeyname "Microsoft Connector for POP3 Mailboxes"') do set "dienst=%%b" 
05.
echo Dienst: %dienst% 
06.
for /f "tokens=3 skip=3 delims=: " %%b in ('sc query %dienst%') do if /i "%%b" == "RUNNING" set status=%%b 
07.
echo Status: %status% 
08.
if /i %status% == RUNNING net stop %"dienst"%
Kurze Erklärung zu den Änderungen:

Wenn der "SERVICE_NAME" des Dienstes Leerzeichen enthält, wurde bisher nur der erste Namensbestandteil verwendet (Token 6; die weiteren bekamen die "Token-Nummern" 7, 8, ...). Durch die Änderung auf "tokens=5*" wird alles nach dem 5. Bestandteil der Zeile als Einheit betrachtet, muss aber als %%b angesprochen werden (%%a ist jetzt Token 5).

Die REM-Zeile beschreibt jetzt, was die weiteren Zeilen bewirken sollen.

Das Setzen der Variable %status% auf "UNBEKANNT" entspricht ebenfalls eher der weiteren Vorgangsweise, da genau genommen nur geprüft wird, ob der Status "RUNNING" ist. Der Umkehrschluss, dass der Status "STOPPED" sein muss, wenn er nicht "RUNNING" ist, ist nicht unbedingt zulässig (abgesehen von "PAUSED" könnte der Status vielleicht auch gar nicht feststellbar sein ...). Da in weiterer Folge aber (derzeit) ohnehin nur auf "RUNNING" geprüft wird, stellt die von mir vorgenommene Änderung eigentlich nur eine Vorleistung auf eine mögliche Erweiterung der Batchdatei dar.

Grüße
bastla
Bitte warten ..
Mitglied: -Jarik-
24.05.2007 um 09:18 Uhr
Erst einmal ein herzliches Danke an:

admin1987
biber
bastla
cykes
dani
&
Iwan

Meine Scripte sind dank euch jetzt fertig.
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Backup
gelöst Symantec Backup Exec 2015: Fehler beim Sichern der Exchange-Datenbanken (4)

Frage von 10TechFlo64 zum Thema Backup ...

Microsoft Office
Access ein Script alle X Minuten ausführen und bei Bedarf stoppen (5)

Frage von thomas1972 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...