Log off Script Problem
Hallo
Ich habe einen Script entwickelt, welcher beim Logoff eines Clients gewisse lokale Daten auf dessen Homedirectory kopieren soll. Das Script funktioniert im laufenden Betrieb tadellos. Beim Logoff scheitert es jedoch. Ist es so, dass die LogOff-Scripts erst nach der Trennung sämtlicher Netzlaufwerke ausgeführt werden? Falls ja, habe ich zu diesem Zeitpunkt überhaupt irgendwelche Netzwerkfunktionalität?
Mein Script:
@echo off
if exist P: goto :Start
echo ------------------------------------------------------
echo Laufwerk P: nicht verbunden! Sicherung fehlgeschlagen!
echo ------------------------------------------------------
goto :Ende
:Start
P:
if exist P:\Zielordner goto :Filecheck
md P:\Zielordner
goto :Filecheck
:Filecheck
if exist C:\quellverzeichnis\robocopy.exe goto Sicherung:
xcopy "\\Domaincontroller\SYSVOL\DOMAIN\scripts\script1\robocopy.exe" "C:\quellverzeichnis"
goto :Sicherung
:Sicherung
echo --------------------------------------------
echo Sicherung der lokalen Daten
echo Bitte Warten ...
echo --------------------------------------------
C:\quellverzeichnis\robocopy.exe "c:\quellverzeichnis" "P:\Zielordner" /MIR /R:2 /W:5 /XF *.tif /LOG:"c:\quellverzeichnis\copylog.txt"
echo --------------------------------------------
echo Kopiervorgang beendet!
echo --------------------------------------------
:Ende
pause
Ich habe einen Script entwickelt, welcher beim Logoff eines Clients gewisse lokale Daten auf dessen Homedirectory kopieren soll. Das Script funktioniert im laufenden Betrieb tadellos. Beim Logoff scheitert es jedoch. Ist es so, dass die LogOff-Scripts erst nach der Trennung sämtlicher Netzlaufwerke ausgeführt werden? Falls ja, habe ich zu diesem Zeitpunkt überhaupt irgendwelche Netzwerkfunktionalität?
Mein Script:
@echo off
if exist P: goto :Start
echo ------------------------------------------------------
echo Laufwerk P: nicht verbunden! Sicherung fehlgeschlagen!
echo ------------------------------------------------------
goto :Ende
:Start
P:
if exist P:\Zielordner goto :Filecheck
md P:\Zielordner
goto :Filecheck
:Filecheck
if exist C:\quellverzeichnis\robocopy.exe goto Sicherung:
xcopy "\\Domaincontroller\SYSVOL\DOMAIN\scripts\script1\robocopy.exe" "C:\quellverzeichnis"
goto :Sicherung
:Sicherung
echo --------------------------------------------
echo Sicherung der lokalen Daten
echo Bitte Warten ...
echo --------------------------------------------
C:\quellverzeichnis\robocopy.exe "c:\quellverzeichnis" "P:\Zielordner" /MIR /R:2 /W:5 /XF *.tif /LOG:"c:\quellverzeichnis\copylog.txt"
echo --------------------------------------------
echo Kopiervorgang beendet!
echo --------------------------------------------
:Ende
pause
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 99529
Url: https://administrator.de/contentid/99529
Ausgedruckt am: 17.11.2024 um 09:11 Uhr
11 Kommentare
Neuester Kommentar
Hi, ich habe das Skript noch nicht geprüft, aber vorab folgender Hinweis:
Du schreibst vom
Für einen Client gibt es nur shutdown.
Logoff gibt es für einen User.
Wenn das Skript beim Abmelden des Users ausgeführt wird, steht dem User ein Netzwerk zur Verfügung und das Kopieren der Daten (funktionierendes Skript vorausgesetzt) auf ein Share kann durchgeführt werden.
Wird ein Skript beim Herunterfahren des Clients ausgeführt, (das Abmelden des Users ist hier schon abgeschlossen) ist das mit dem Kopieren der Daten auf ein Share etwas schwieriger. Ehrlich gesagt, ich weiß es nicht, ob es überhaupt möglich ist. Der Netzwerkstack ist zwar noch da, aber ich weiß es nicht in welcher Ausprägung. Da hier keine Usercredentials mehr Verfügbar sind, mit denen man sich gegen ein Share authentifizieren kann, müssten dann per Skript die Notwendigen Credentials übergeben werden. Ich glaube aber nicht, dass an dieser Stelle noch alle, für die Authentifizierung benötigten Dienste, verfügbar sind.
Gruß
itchaos
Du schreibst vom
Logoff eines Clients
Für einen Client gibt es nur shutdown.
Logoff gibt es für einen User.
Wenn das Skript beim Abmelden des Users ausgeführt wird, steht dem User ein Netzwerk zur Verfügung und das Kopieren der Daten (funktionierendes Skript vorausgesetzt) auf ein Share kann durchgeführt werden.
Wird ein Skript beim Herunterfahren des Clients ausgeführt, (das Abmelden des Users ist hier schon abgeschlossen) ist das mit dem Kopieren der Daten auf ein Share etwas schwieriger. Ehrlich gesagt, ich weiß es nicht, ob es überhaupt möglich ist. Der Netzwerkstack ist zwar noch da, aber ich weiß es nicht in welcher Ausprägung. Da hier keine Usercredentials mehr Verfügbar sind, mit denen man sich gegen ein Share authentifizieren kann, müssten dann per Skript die Notwendigen Credentials übergeben werden. Ich glaube aber nicht, dass an dieser Stelle noch alle, für die Authentifizierung benötigten Dienste, verfügbar sind.
Gruß
itchaos
Nein, nein, Du hast mich etwas missverstanden.
Zu dem Prozess des Herunterfahrens eines Rechners gehört auch das Abmelden des Benutzers. Auf den ersten Blick ist es nicht zu Erkennen, ob der User schon abgemeldet wurde und jetzt die Aufgaben durchgeführt werden, die Notwendig sind um den Rechner auszuschalten. Das ist aber auch egal an dieser Stelle.
Also, beim Herunterfahren eines Rechners wird zuerst der User abgemeldet und dann der Rechner quasi "abgemeldet".
Frage:
Hast Du das Skript per Gruppenrichtlinie eingebunden?
Hast Du das Skript dem User oder dem Computer zugweisen?
Gruß
itchaos
Zu dem Prozess des Herunterfahrens eines Rechners gehört auch das Abmelden des Benutzers. Auf den ersten Blick ist es nicht zu Erkennen, ob der User schon abgemeldet wurde und jetzt die Aufgaben durchgeführt werden, die Notwendig sind um den Rechner auszuschalten. Das ist aber auch egal an dieser Stelle.
Also, beim Herunterfahren eines Rechners wird zuerst der User abgemeldet und dann der Rechner quasi "abgemeldet".
Frage:
Hast Du das Skript per Gruppenrichtlinie eingebunden?
Hast Du das Skript dem User oder dem Computer zugweisen?
Gruß
itchaos
hier noch ein Hinweis:
die Aussage vom Wurstsalat
zuerst werden die Abmeldeskripte (und hier kommt Dein Skript zum Einsatz) ausgeführt, Netzlaufwerke getrennt und dann der Rechner heruntergefahren.
Wenn ich etwas Zeit finde, dann schaue ich mir das Skript an
Gruß
itchaos
die Aussage vom Wurstsalat
Ja die Netzlaufwerke werden vorher getrennt...
ist nicht ganz korrekt:zuerst werden die Abmeldeskripte (und hier kommt Dein Skript zum Einsatz) ausgeführt, Netzlaufwerke getrennt und dann der Rechner heruntergefahren.
Wenn ich etwas Zeit finde, dann schaue ich mir das Skript an
Gruß
itchaos
auf die schnelle:
mach eine neue Batch mit:
C:\quellverzeichnis\robocopy.exe "c:\quellverzeichnis" "P:\Zielordner" /MIR /R:2 /W:5 /XF *.tif /LOG:"c:\quellverzeichnis\copylog.txt"
und füge diese per gpedit.msc dem User als Abmeldeskript hinzu.
Damit wirst Du erkennen, dass das Kopieren der Daten funktioniert...
Gruß
itchao
mach eine neue Batch mit:
C:\quellverzeichnis\robocopy.exe "c:\quellverzeichnis" "P:\Zielordner" /MIR /R:2 /W:5 /XF *.tif /LOG:"c:\quellverzeichnis\copylog.txt"
und füge diese per gpedit.msc dem User als Abmeldeskript hinzu.
Damit wirst Du erkennen, dass das Kopieren der Daten funktioniert...
Gruß
itchao