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.lannetlogonregfilesoff_vorlagen.reg
08: 
09: :: Befehl ifmember verteilen
10: :: ------------------
11: IF NOT EXIST %windir%SYSTEM32IFMEMBER.EXE copy \firma.lannetlogonifmember.exe %windir%SYSTEM32IFMEMBER.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: \s35daten /PERSISTENT:NO
21: ::
22: \firma.lannetlogonifmember FTP2_User
23: IF %errorlevel%==1 ( 
24:     net use S: \S27FTPROOT /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.lannetlogonlogall.vbs
34:    start /wait wscript \firma.lannetlogondeleteorphanedprinters.vbs
35: :noinvent
36: 
37: :: Twixtel-Inis für alle herunterkopieren auf den Client
38: del %windir%twix*.ini
39: del "%userprofile%"desktoptwix*.lnk
40: copy \s32twixtellokal*.ini %windir% /Y
41: mkdir "%userprofile%"TwixtelSettings
42: copy \s32twixtellokal*.ini "%userprofile%"TwixtelSettings /Y
43: 
44: :: Canon IRC3380
45: \firma.lannetlogonifmember G_PR_Canon_IRC3380
46: IF %errorlevel%==1 ( 
47:    \firma.lannetlogoncon2prt /c "\s33Canon_iRC3380_PS"
48:    \firma.lannetlogoncon2prt /c "\s33Canon_iRC3380_PCL5"
49: )
50: 
51: :: HP LaserJet 9040
52: \firma.lannetlogonifmember G_PR_HP_LJ9040
53: IF %errorlevel%==1 ( 
54:    \firma.lannetlogoncon2prt /c "\s33HP 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:WINDOWSSYSTEM32). 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:UserslscAppDataRoaming
asl.log=Destination=file
CommonProgramFiles=C:Program FilesCommon Files
CommonProgramFiles(x86)=C:Program Files (x86)Common Files
CommonProgramW6432=C:Program FilesCommon 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.lannetlogon

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.

Achtung!

Dieser Artikel wurde automatisiert vom alten CMS übernommen. Dort war er zuletzt am 16.04.2016 geändert worden. Bei der Konvertierung können sich Fehler eingeschlichen haben, wie zum Beispiel falsche Zeilenumbrüche, fehlende Bilder oder fehlende Zeichen. Wenn du einen solchen Fehler entdeckst, dann schreibe doch bitte einen Kommentar, damit ich das beheben kann.

Vielen Dank für deine Mühe.


Hat dir der Artikel gefallen? Dann freue ich mich, wenn du ein Like hinterlässt und ihn teilst.
Herzlichen Dank.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.