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-ID: 44795

Url: https://administrator.de/forum/einmaliges-kopieren-von-dateien-auf-client-44795.html

Ausgedruckt am: 22.04.2025 um 10:04 Uhr

Nottrott
Nottrott 19.11.2006 um 00:31:36 Uhr
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
Biber
Biber 19.11.2006 um 01:49:40 Uhr
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
r6cdr
r6cdr 19.11.2006 um 11:54:07 Uhr
Goto Top
Vielen Dank für die schnelle Unterstützung. Ob es funktioniert kann ich Euch erst in ein paar Tagen mitteilen.

Steve