Home » Software » Skripting » DOS » Batch Skripte (DOS) Teil 3
- Anzeige -
Software Asset Management beim Fachmann

Batch Skripte (DOS) Teil 3

Beispiel für ein Login-Skript und Einbau von zusätzlichen Befehlen

@echo off
01: :: ------------------------------------------------------------------------------------------------------------
02: :: Logon-Skript
03: :: ------------------------------------------------------------------------------------------------------------
04: 
05: :: Einstellungen  für Office 2003 / 2010 setzen
06: :: --------------------------------------------
07: REG IMPORT \\firma.lan\netlogon\regfiles\off_vorlagen.reg
08: 
09: :: Befehl ifmember verteilen
10: :: ------------------
11: IF NOT EXIST %windir%\SYSTEM32\IFMEMBER.EXE copy \\firma.lan\netlogon\ifmember.exe %windir%\SYSTEM32\IFMEMBER.EXE 
12: ::
13: :: Alle Freigaben zurücksetzen
14: :: ---------------------------
15: net use i: /delete /yes
16: net use S: /delete /yes
17: ::
18: :: Freigaben verbinden
19: :: -------------------
20: net use i: \\s35\daten /PERSISTENT:NO
21: ::
22: \\firma.lan\netlogon\ifmember FTP2_User
23: IF %errorlevel%==1 ( 
24:     net use S: \\S27\FTPROOT /PERSISTENT:NO
25: )
26: 
27: :: Inventory Start 
28: :: Nicht bei Citrix-Servern...
29: if "%COMPUTERNAME%" == "CTXAPP1" goto noinvent
30: if "%COMPUTERNAME%" == "CTXAPP2" goto noinvent
31: if "%COMPUTERNAME%" == "CTXAPP3" goto noinvent
32: if "%COMPUTERNAME%" == "CTXAPP5" goto noinvent
33:    start /wait wscript \\firma.lan\netlogon\logall.vbs
34:    start /wait wscript \\firma.lan\netlogon\deleteorphanedprinters.vbs
35: :noinvent
36: 
37: :: Twixtel-Inis für alle herunterkopieren auf den Client
38: del %windir%\twix*.ini
39: del "%userprofile%"\desktop\twix*.lnk
40: copy \\s32\twixtel\lokal\*.ini %windir% /Y
41: mkdir "%userprofile%"\Twixtel\Settings
42: copy \\s32\twixtel\lokal\*.ini "%userprofile%"\Twixtel\Settings /Y
43: 
44: :: Canon IRC3380
45: \\firma.lan\netlogon\ifmember G_PR_Canon_IRC3380
46: IF %errorlevel%==1 ( 
47:    \\firma.lan\netlogon\con2prt /c "\\s33\Canon_iRC3380_PS"
48:    \\firma.lan\netlogon\con2prt /c "\\s33\Canon_iRC3380_PCL5"
49: )
50: 
51: :: HP LaserJet 9040
52: \\firma.lan\netlogon\ifmember G_PR_HP_LJ9040
53: IF %errorlevel%==1 ( 
54:    \\firma.lan\netlogon\con2prt /c "\\s33\HP LaserJet 9040 PCL5"
55: )

Mit Login-Skripts werden wiederkehrende Aufgaben bei jedem Login automatisiert. Gängigste Aufgabe ist das Verbinden von Netzlaufwerken

Hinweis:

Vergessen Sie nicht ihre Skripts zu kommentieren. Sie können hierzu den Befehl REM benutzen oder auch :: (zwei Doppelpunkte)!

Das Beispiel-Skript erledigt die folgenden Aufgaben.

In Zeile 07 werden Registry-Einstellungen importiert, die in diesem Fall bestimmte Office-Einstellungen setzen.

In Zeile 11 wird der IFMEMBER-Befehl (kein DOS-Befehl, sondern aus dem Windows ResourceKit Tool auf die lokalen Rechner in das Verzeichnis %windir%\SYSTEM32\ verteilt (z.B. C:\WINDOWS\SYSTEM32). Mittels IF EXIST, geschieht dies nur, wenn die Datei dort nicht existiert. IFMEMBER wird später noch gebraucht, jedoch kann es natürlich später auch aus einer Netzwerkfreigabe aus aufrufen.

In Zeile 15 und 16 werden die beiden Netzlaufwerke I: und S: getrennt. Dies ist ebenfalls nicht zwangsläufig nötig, man kann das machen, um zu verhindern, dass nicht eine andere Verbindung heirauf existiert.

In Zeile 20 wird das Laufwerk I: mit der der Freigabe Daten auf S35 neu verbunden.

In Zeile 22 bis 25 wird eine IF-Abfrage in Zusammenhang mit dem ifmember-Befehl (s. o.) verwendet: "Wenn der Benutzer Mitglied der Active-Directory-Gruppe FTP2_User ist, dann verbinde Laufwerk S. mit der Freigabe FTPROOT auf Server S27.

Zeile 27 bis 35 zeigt ein (nicht sehr elegantes) Konstrukt mit dessen Hilfe bestimmte Befehle (Zeile 33 und 34) nicht auf bestimmten Servern aufgerufen werden. Hierzu wird der Computername abgefragt und im Positiv-Fall zu einer Marke (noinvent) hinter den entsprechenden Befehlen gesprungen.

Zeile 37 bis 42 zeigt diverse Kopiervorgänge unter Verwendung von Variablen aus der Systemumgebung. Eine komplette Liste kann man sich auf der Kommandozeile mittels "set" anzeigen lassen. Das Ergebnis sieht so aus:

C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\lsc\AppData\Roaming
asl.log=Destination=file
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=...

Mit den Befehlen werden in diesem Fall konkret einige Desktop-Verknüpfungen und ini-Files an die korrekten Orte kopiert.

Zeile 44 bis 55 zeigt eine automatische Druckerverknüpfung. Hierzu ist der Befehl con2prt nötig (von Microsoft  - zum Download Google befragen). Ähnlich wie bei der bedingten Laufwerksverknpüfung wird ein Drucker verbunden, wenn der Nutzer Mitglied in der entsprechenden Gruppe ist.

Damit das Login-Skript automatisch auf einem Server ausgeführt wird, packt man es in die Freigabe netlogon unter dem internen Domänennamen.

Beispiel: Interne Domäne ist "firma.lan", dann ist der Speicherort \\firma.lan\netlogon

Bei den Usern, die das Skript benötigen, trägt man es unter der Registerkarte Profil ein:

Diese Methode ist schon eine etwas in die Jahre gekommene aus NT-Zeiten stammende. Login-Skripts kann man seit Windows 2000 auch via Gruppenrichtlinien zuweisen.



War der Artikel hilfreich? Bitte liken und sharen. Danke!

it-zeugs.de ist auch auf Facebook...

Schreibe einen Kommentar - aber kein SPAM - der wird zuverlässig gefiltert!

  • Erforderliche Felder sind markiert mit *.

If you have trouble reading the code, click on the code itself to generate a new random code.