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, 5761 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 ..
Ähnliche Inhalte
Backup
gelöst Backup-Script erweitern mit automatischer bereinigung (6)

Frage von DarkHercules zum Thema Backup ...

Backup
Backup Exec 2015 FP5 und Exchange 2013 CU 15 (2)

Frage von dng-alt zum Thema Backup ...

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

Frage von 10TechFlo64 zum Thema Backup ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...