Bei entfernten Rechnern prüfen, ob ein Dienst läuft
...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
Das hier ist die Batch die prüft und eigentlich ins Log schreiben soll:
Ich bekomme vom zweiten Script den Hinweis "Zugriff verweigert", wenn ich ins Log schreiben will....
Wer kann das ggf. mal nachstellen?
Danke & Gruß
Lars
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
set /p Computer2Check=Bitte Comuternamen eingeben:
psexec \\%Computer2Check% -c -v "check_service.bat"
Das hier ist die Batch die prüft und eigentlich ins Log schreiben soll:
net start | find /i "Servicename">NUL
if errorlevel==1 goto :SERVICE_STOPPED
@echo Service läuft
exit
:SERVICE_STOPPED
@echo Service gestoppt
@echo %computername%;%DATE%;%TIME% >>\\server\protokolle$\service_stopped.log
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135072
Url: https://administrator.de/contentid/135072
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
6 Kommentare
Neuester Kommentar
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.
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
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.
set /p Computer2Check=Bitte Comuternamen eingeben:
set /p Dienstname=Bitte Dienstname eingeben:
for /f "tokens=4" %%a in ('sc query %dienstname% ^| find "STATE"') do set Status=%%a
@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
Hallo,
ja da waren wiedermal die Finger schneller als das Hirn
hier ist die überarbeitet Version
ja da waren wiedermal die Finger schneller als das Hirn
hier ist die überarbeitet Version
Set /p Computer2Check=Bitte Comuternamen eingeben:
set /p Dienstname=Bitte Dienstname eingeben:
for /f "tokens=4" %%a in ('sc \\%Computer2Check% query %dienstname% ^| find "STATE"') do set Status=%%a
@Echo Der Status des Dienstes %Dienstname% ist %Status%