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

Bei entfernten Rechnern prüfen, ob ein Dienst läuft

Frage Entwicklung Batch & Shell

Mitglied: Larz

Larz (Level 2) - Jetzt verbinden

03.02.2010, aktualisiert 15:26 Uhr, 10512 Aufrufe, 6 Kommentare

...und wenn nein, protokollieren

Hallo zusammen,

ich habe ein kleines Script gebastelt dass testen soll, ob ein Dienst gestartet ist. Wenn nein, soll der Name des PCs in ein Log-File geschrieben werden.
Das Script wird über ein anderesper PSEXEC auf einem entfernten Rechner gestartet.

Aber - das Schreiben in das Log-File funktioniert nicht, obwohl alle Benutzer Schreibzugriff haben.

Kann das ggf. mal einer bei sich prüfen? Zugriiff auf die versteckte Freigabe haben alle

Mit dieser Datei starte ich per psexec die Batch auf dem entfernten Rechner
01.
set /p Computer2Check=Bitte Comuternamen eingeben:  
02.
psexec \\%Computer2Check% -c -v "check_service.bat"

Das hier ist die Batch die prüft und eigentlich ins Log schreiben soll:
01.
net start | find /i "Servicename">NUL 
02.
if errorlevel==1 goto :SERVICE_STOPPED 
03.
@echo Service läuft 
04.
exit 
05.
 
06.
:SERVICE_STOPPED 
07.
@echo Service gestoppt 
08.
@echo %computername%;%DATE%;%TIME% >>\\server\protokolle$\service_stopped.log 
09.
exit
Ich bekomme vom zweiten Script den Hinweis "Zugriff verweigert", wenn ich ins Log schreiben will....

Wer kann das ggf. mal nachstellen?

Danke & Gruß
Lars
Mitglied: 5t8d1e
03.02.2010 um 17:14 Uhr
Hallo

wenn du xp oder höher nutzt, wäre es sinvoll hierfür sc zu nutzen statt psexec. somit wird die komplette session auf deinen Rechnen stattfinden.

01.
  
02.
set /p Computer2Check=Bitte Comuternamen eingeben:  
03.
set /p Dienstname=Bitte Dienstname eingeben: 
04.
for /f "tokens=4"  %%a in ('sc query %dienstname% ^| find "STATE"') do set Status=%%a 
05.
 
06.
@Echo Der Status des Dienstes %Dienstname ist %Status%
so den Rest mit der logdatei kannst du ja dann wieder selbst zusammenbasteln.

grüße
torsten

PS.: noch sinvoller wäre eine wmi abfrage per vbs oder powershell, damit läßt dann das ergebnis besser auswerten
Bitte warten ..
Mitglied: Larz
03.02.2010 um 17:40 Uhr
Hallo Torsten,

danke, aber dein Script funktioniert bei mir leider nicht. Zum Einen fehlt in der letzten Zeile wohl noch ein % hinter Dienstname, zudem wird unter %Status% einfach "nichts" angezeigt.
Was ich auch nicht ganz verstehe, wie soll ich das bei anderen PCs machen? Ich gebe zwar in der ersten Zeile den Computernamen ein, verwende die Variable aber nicht im folgenden...?!?!

Danke & Gruß
Lars
Bitte warten ..
Mitglied: 5t8d1e
03.02.2010 um 17:48 Uhr
Hallo,

ja da waren wiedermal die Finger schneller als das Hirn
hier ist die überarbeitet Version

01.
Set /p Computer2Check=Bitte Comuternamen eingeben:   
02.
set /p Dienstname=Bitte Dienstname eingeben:  
03.
for /f "tokens=4"  %%a in ('sc \\%Computer2Check% query %dienstname% ^| find "STATE"') do set Status=%%a  
04.
 
05.
@Echo Der Status des Dienstes %Dienstname% ist %Status%
Bitte warten ..
Mitglied: Larz
03.02.2010 um 20:42 Uhr
hm... die Ausgabe ist weiterhin leer:


C:\>Set /p Computer2Check=Bitte Comuternamen eingeben:
Bitte Comuternamen eingeben: notebook
C:\>set /p Dienstname=Bitte Dienstname eingeben:
Bitte Dienstname eingeben: Arbeitsstationsdienst
C:\>for /F "tokens=4" %a in ('sc \\notebook query Arbeitsstationsdienst | find "STATE"') do set Status=%a
Der Status des Dienstes Arbeitsstationsdienst ist

C:\>pause
Drücken Sie eine beliebige Taste . . .

Geht das bei Dir?
Bitte warten ..
Mitglied: 5t8d1e
03.02.2010 um 23:39 Uhr
Hallo,

ja es geht, ABER! bei diesen Dienst solltest du "lanmanworkstation" (ohne Quotes) eingeben .


Grüße
Torsten

edit: es muss der Servicename und nicht der Anzeigename des Dienstes verwendet werden. mit sc query | find "Name:" solltes du immer die richtigen Namen finden.
Bitte warten ..
Mitglied: Larz
04.02.2010 um 06:48 Uhr
Aaaahhhhh... jetzt wird's Tag!
Prima, danke für den Codeschnipsel

Gruß
Larz
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerkaussetzer bei neuen Fujitsu-Rechnern mit Windows 10 (5)

Frage von User1000 zum Thema Windows Netzwerk ...

Windows Server
GDATA Dienst bremst Server (3)

Frage von festus zum Thema Windows Server ...

Windows Server
Programm als Dienst einrichten auf Server 2012 R2 (3)

Frage von survial555 zum Thema Windows Server ...

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
Batch & Shell
Skripterstellung Lehrling (22)

Frage von 133119 zum Thema Batch & Shell ...

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

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

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