gb97vpn
Goto Top

AD und Anmeldescript

Hallo erst einmal

ich habe ein problem ich würde gernen ein Anmelde Script schreiben das bei der Anmeldung von einem User an der AD automatisch eine Datei in sein Homelaufwerk Kopiert wird. Und das dass Anmelde Script unterscheidet wenn die Datei vorhanden ist diese dann nicht zu überschreiben.
Mein hauptproblem liegt nur darin wie muss ich das schreiben als Batch Datei und wo muss ich das auf dem Windows Server 2003 ablegen?

Vielen dank

MFG Gb97VPN

Content-ID: 62542

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

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

AxelHahn
AxelHahn 28.06.2007 um 09:17:17 Uhr
Goto Top
Hallo,

-- WO ablegen
... eigentlich irgendwo dorthin, wo jeder User Leserechte, aber keine Schreibrechte hat. Aus organisatorischen Gründen würde ich es in das Netlogon-Verzeichnis packen. Das passt dann auch logisch zum Anmeldeskript.
Unten im Beispiel habe ich es in einem Unterverzeichnis "userhome" abgelegt.

-- Exsitiert Datei?
Mit EXIST kann man das per Batch prüfen.


Es wird etwa so aussehen (ungetestet):

set sourcefile=%%LOGONSERVER\Netlogon\userhome\meinfile.txt
set targetfile=%HOME%\meinfile.txt

if NOT exist "%targetfile%" copy "%sourcefile%" "%targetfile%"  


Viele Grüsse
-= Axel =-
Gb97VPN
Gb97VPN 28.06.2007 um 10:25:24 Uhr
Goto Top
Hallo
erst mal danke für die antwort.
Könnte ich den Code den Sie mir da geschickt haben als Batch
verwänden?
Die frage wo ich das ablegen soll war gibt es da ein Standart verzeichnis
wo man Scripte ablegt die automatisch bei der Useranmeldung mit Starten?

MFG Gb97VPN
bastla
bastla 28.06.2007 um 10:27:30 Uhr
Goto Top
@AxelHahn

Beim LOGONSERVER ist ein %-Zeichen verrutscht, und hinter HOME ist DRIVE irgendwo auf der Strecke geblieben - also eher (auch ungetestet):
@echo off & setlocal
set "sourcefile=%LOGONSERVER%\Netlogon\userhome\meinfile.txt"  
set "targetfile=%HOMEDRIVE%\meinfile.txt"  

if NOT exist "%targetfile%" copy "%sourcefile%" "%targetfile%" >nul  

Grüße
bastla
Gb97VPN
Gb97VPN 28.06.2007 um 10:40:55 Uhr
Goto Top
Ich klaub es geht hab ein paar kleinigkeiten verändern müssen aber Danke hoffe das es jetzt so geht ich kuke gleich einmal Danke schon mal.

MFG Gb97VPN
bastla
bastla 28.06.2007 um 10:41:53 Uhr
Goto Top
Hallo Gb97VPN!

... gibt es da ein Standart verzeichnis wo man Scripte ablegt die automatisch bei der Useranmeldung mit Starten?
An sich gibt es einen solchen Standardspeicherort - dazu in der Gruppenrichtlinie "Benutzerkonfiguration / Windows-Einstellungen / Skripts (Anmelden/Abmelden)" wählen und dort die Eigenschaften von "Anmelden" per Doppelklick bearbeiten.

Über "Dateien anzeigen..." gelangt man zum entsprechenden (tief unter "sysvol" vergrabenen) Verzeichnis.

Wird die Script-(Batch-)Datei dort gespeichert, kann sie ohne weiteres Navigieren im vorhin erwähnten "Eigenschaften"-Dialog per "Hinzufügen..." aktiviert werden.

Grüße
bastla
Gb97VPN
Gb97VPN 28.06.2007 um 11:51:19 Uhr
Goto Top
Ich habe doch noch ein problem das mit dem Kopieren passt einwandfrei aber ich hatte vergessen zu erwähnen das jeder User auf der im C Ordner des Server ein Homelaufwerk hat und in das muss es reinkopiert werden und dort kann ich ja nicht als Var: %USERPROFILE% setzten gibt es da noch einen andere Var ich habe bis jetzt keinen gefunden. Vielleicht habt ihr einen Idee?

MFG Gb97VPN
bastla
bastla 28.06.2007 um 11:56:29 Uhr
Goto Top
Hallo Gb97VPN!

Wie sieht denn der Zielpfad genau aus (UNC-Schreibweise, also "\\Server\Freigabe\Verzeichnis")? Vielleicht hilft Dir %USERNAME%?

Grüße
bastla
AxelHahn
AxelHahn 28.06.2007 um 13:01:53 Uhr
Goto Top
Hallo,

als lokaler Ort für Anwendungen ist %APPDATA% definiert.
Beim engl. Windows zeigt diese z.B. auf
C:\Documents and Settings\[Benutzername]\Application Data\

Ich würde unter %APPDATA% einen Ordner (mit Firmenname) anlegen und darunter dann deine Datei, die du testen willst.

@echo off & setlocal
set "sourcefile=%LOGONSERVER%\Netlogon\userhome\meinfile.txt"  
set "targetdir=%APPDATA%\meine_firma"  
set "targetfile=%targetdir%\meinfile.txt"  

mkdir "%targetdir%" 2>nul  

if NOT exist "%targetfile%" copy "%sourcefile%" "%targetfile%" >nul  

Viele Grüsse
-= Axel =-
Gb97VPN
Gb97VPN 28.06.2007 um 13:41:24 Uhr
Goto Top
Hallo sry da habe ich wohl etwas falsch erklärt.
Ich meinte bei uns auf dem Windows Server 2003 liegen die
Homelaufwerke der USer ganz normal auf C in einem Unterordner
kann ich da ganz normal die Bat datei durchlaufen weil es hat ja keine
Usernamen sondern sind nur die ordner die von der AD daruf verweisen.

MFG Gb97VPN
bastla
bastla 28.06.2007 um 14:07:28 Uhr
Goto Top
Hallo Gb97VPN!

Was steht im AD als Basisverzeichnis für die einzelnen User? Das müsste doch ein Eintrag der Art "\\Server\Userverzeichnis$\%username%" sein ...
Im übrigen wäre es natürlich viel einfacher (wenn Du Schreibzugriff auf die Userverzeichnisse hast), die Datei gleich am Server zu verteilen. Falls alle die Datei bekommen sollen und sich die Userverzeichnisse zB in "C:\Users" befinden, müsste es etwa direkt von der Kommandozeile so gehen:
for /d %i in (C:\Users\*.*) do @copy Datei.typ "%i">nul  
Falls Du die Zeile in einem Batch verwenden willst, musst Du immer %%i schreiben.

Grüße
bastla