retrodude
Goto Top

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

Content-Key: 99529

Url: https://administrator.de/contentid/99529

Printed on: April 18, 2024 at 12:04 o'clock

Member: Wurstsalat
Wurstsalat Oct 17, 2008 at 08:22:43 (UTC)
Goto Top
Ja die Netzlaufwerke werden vorher getrennt...wieso benutzt du keine unc pfad?
Member: RetroDude
RetroDude Oct 17, 2008 at 08:26:55 (UTC)
Goto Top
Welche Systemvariablen müsste ich denn da einsetzen um das ganze user- bzw. serverunabhängig zu gestalten? Es sind diverse User, welche auf verschiedenen Servern ihr P: Laufwerk haben.

Gruss
Member: itchaos
itchaos Oct 17, 2008 at 09:28:53 (UTC)
Goto Top
Hi, ich habe das Skript noch nicht geprüft, aber vorab folgender Hinweis:
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
Member: RetroDude
RetroDude Oct 17, 2008 at 09:36:39 (UTC)
Goto Top
Das habe ich befürchtet. Der LogOff ist in meinem Beispiel nicht praxistauglich. Damit die Daten kopiert werden müsste der User so vor dem Herunterfahren zuerst einen LogOff machen. Da kann ich Ihn den Script auch per Doppelklick des Users ausführen lassen vor dem Shutdown. Ich möchte aber, dass sich der User nicht um das kümmern muss... UNC Pfade kommen auch nicht in Frage, weil es sich bei diesen Clients um Notebooks handelt mit Offline verfügbaren Userhomes. Damit der Skript Online sowie Offline funktioniert muss er auf Laufwerksebene funktionieren. Oder habt ihr noch eine Idee?

Danke für Euer Engagement!

Gruss
Member: itchaos
itchaos Oct 17, 2008 at 11:10:10 (UTC)
Goto Top
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
Member: itchaos
itchaos Oct 17, 2008 at 11:25:40 (UTC)
Goto Top
hier noch ein Hinweis:
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
Member: itchaos
itchaos Oct 17, 2008 at 11:29:38 (UTC)
Goto Top
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
Member: RetroDude
RetroDude Oct 17, 2008 at 13:11:35 (UTC)
Goto Top
Ja, ich habe dieses Script per GPO auf Computerebene zugeteilt. Der Userteil dieser Policy ist deaktiviert, da aus strukturellen Gründen keine Usersettings auf der selben Policy gemacht werden. In dem Fall müsste ich eine zusätzliche Policy basteln... Habe ich es richtig verstanden. Wenn ich dieses Script auf Userebene als Logoff Skript zuweise, wird es auch beio einem Shutdown, da dieser ja logischerweise auch einen LogOff beinhaltet, ausgeführt?

Gruss
Member: Logan000
Logan000 Oct 17, 2008 at 13:58:30 (UTC)
Goto Top
Moin Moin

Wenn ich dieses Script auf Userebene als Logoff Skript zuweise, wird es auch beio einem Shutdown, da dieser ja logischerweise auch einen LogOff beinhaltet, ausgeführt?
Sofern ein Benutzer angemeldet ist: Ja.

Gruß L.
Member: itchaos
itchaos Oct 17, 2008 at 14:34:08 (UTC)
Goto Top
BINGO... face-smile

Gruß
itchaos
Member: RetroDude
RetroDude Oct 17, 2008 at 14:44:00 (UTC)
Goto Top
Danke Jungs!

Gruss

RetroDude