r6cdr
Goto Top

einmaliges Kopieren von Dateien auf Client

Hallo,

Meine Netzwerkerfahrungen halten sich in engen Grenzen und nun stehe ich vor
folgendem Problem.

Ich brauche ein Login-Script, das beim erstmaligen Anmelden eines Nutzers (keine
Adminrechte) an einem Client zwei Dateien vom Server auf den Client kopiert und ein
weiteres Script (eine der zu kopierenden Dateien) startet. Dieser Vorgang ist wie
gesagt einmalig und soll nicht wiederholt werden. Der Zielordner existiert noch
nicht. Die Nutzer gehören alle zu einer OU in der Active Directory.

Das Kopieren funktioniert mit xcopy, soweit bin ich schon. Als erstes Ordner
freigeben und dann xcopy \\server\freigegebener Ordner\datei C:\Zielordner.
Mir macht die Einmaligkeit des Vorgangs Probleme.

Server: Windows 2003 Server
Clients: Windows XP Pro SP2

Vielen Dank für Eure Hilfe

Steve

Content-Key: 44795

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

Printed on: April 26, 2024 at 15:04 o'clock

Member: Nottrott
Nottrott Nov 18, 2006 at 23:31:36 (UTC)
Goto Top
Hallo,

damit müsste es gehen (der Dateiname sollte mit .bat oder .cmd enden):

@echo off

net use x: \\server\freigabe

if exist C:\datei1.txt goto DATEI2
copy X:\ordner\datei1.txt C:\


:DATEI2
if exist C:\datei2.exe goto STARTEN
copy X:\ordner\datei2.exe C:\


:STARTEN
C:\datei2.exe

"@echo off" schaltet erstmal die Ausgaben aus.
Dann wird mit dem Server verbunden.
Nun wird überprüft, ob die datei1.txt vorhanden ist. Wenn ja, wird zur Sprungmarke DATEI2 gesprungen. Andernfalls wird die Datei kopiert.
Nun kommt so oder so die Sprungmarke DATEI2. Hier wird abgefragt, ob die Datei2.exe vorhanden ist. Wenn nicht, wird sie kopiert.
Dannach oder sonst wird die Datei gestartet.

Diese obrige Datei kannst du bei dem Nutzer, bei dem sie ausgeführt wird einfach als Login-Script eintrage. Wenn du nicht weißt, wies geht, einfach melden (oder Suchfunkton nurtzen face-smile ).

Hoffentlich funktionierts,
Nottrott
Member: Biber
Biber Nov 19, 2006 at 00:49:40 (UTC)
Goto Top
Moin r6cdr,

ich würde noch zu Nottrotts Strategie eine kleine Korrektur vorschlagen.
Diese Flag-Datei(en), an der/denen Du erkennst, ob die Kopier/Skriptstart-Aktion gelaufen ist, sollten nicht auf dem Client, sondern auf dem Server sein.
Wenn das rechtemäßig vertretbar ist (es muss halt in irgendeinem Server-Verzeichnis das Schreibrecht vorhanden sein).

Dann können alle User bzw. alle Computer überprüfen, ob sie sich schon in der Datei "CopyDone.log" bzw. in der Datei "SkriptRun.log" verewigt haben.
...

Find "%computername" \\derServer\dieFreigabe\CopyDone.log && goto CheckIfSkriptHadRun  
...xcopy ...vomServer ...aufClient... 
If Errorlevel 0 echo %date% %time% %computername% %username% Dateien abgeholt...>>\\derServer\dieFreigabe\CopyDone.log

:CheckIfSkriptHadRun
Find "%computername" \\derServer\dieFreigabe\SkriptRun.log && goto :eof  
.....skript starten...
If Errorlevel 0 echo %date% %time% %computername% %username% Skript gestartet...>>\\derServer\dieFreigabe\SkriptRun.log
...

Ob Du auf %computername% oder auf %username% prüfen musst, hängt davon ab, ob das Skript einmalig je Rechner oder je Benutzer laufen soll.

Gruß
Biber
Member: r6cdr
r6cdr Nov 19, 2006 at 10:54:07 (UTC)
Goto Top
Vielen Dank für die schnelle Unterstützung. Ob es funktioniert kann ich Euch erst in ein paar Tagen mitteilen.

Steve