Jump to content

eigenwilliges Logon-Skript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi Leute,

 

ich habe hier ein klitzekleines Problem mit einem eigenwilligen Logon-Script auf meinem PDC (Win2K Server, jungfräulich, SP2).

 

Es handelt sich um Kix32 Script, welches abhängig von der Gruppenzugehörigkeit des Users die Laufwerksmappings durchführen soll.

 

Das eigentliche Mapping-Script wird durch ein Script (login.bat)aufgerufen, in dem lediglich folgender Inhalt steht.

 

Kix32 mapping.bat

 

login.bat, mapping.bat und kix32 liegen im SysVol der Domäne unter Scripts.

 

Im Profil des Users ist unter Anmeldescript einfach nur login.bat eingetragen.

 

Logge ich mich nun an einem Client ein (Win2K Pro), wird beim ersten Login das Script aufgerufen (das Netlogon-fenster erscheint), die Anweisungen aber nicht ausgeführt (keine Mappings). Logge ich mich aus und wieder ein, erscheint auch kein NetLogon mehr .... erst das Neustarten des Clients oder eine längere Pause führt wieder zu einem "Ergebnis".

 

Ich habe schon so ziemlich alles ausprobiert.... das Skript in .cmd umbenannt, das Mapping-Skript direkt aufgerufen (kix32 mapping.bat), das Skript mittels der Richtlinien eingebunden (die scheinen komplett ignorriert zu werrden).

 

Interessanter Weise funktioniert ein normales Dos-Script ohne Probleme.

 

Ich habe jetzt zwei Alternativen:

 

1. Ich kriege das Kix32 - Skript eingebunden oder

2. Mir gibt jemand einen Tip, wie ich mittels eines normalen DOS-Skripts die Gruppenzugehörigkeit beim Mappen abfragen, um dann nur die Laufwerke zu mappen, auf die der User schreiben darf. :D :D :D

 

Danke schon mal für Eure Hilfe !

Link zu diesem Kommentar

Das Script, welches ich auf KixScript.com gefunden habe, ist zweigeteilt.... zum einen wäre da das reine Script und zum anderen eine INI-Datei, in der die Laufwerkszuordnungen stehen.

 

Ich hänge beides mal hinten an (zusammen in einer Datei).

 

Der Hinweis mit Ifmember ist ok .... da wir nur Win2000 und XP Clients einsetzen, dürfte das gehen.

script.txt

Link zu diesem Kommentar

Hi apohl !

 

Meiner Meinung nach, kann das als LoginScript auch nicht laufen.

In dem Script wird immer nach "@curdir\drivemap.ini" abgefragt.

 

Ich weiß jetzt nicht, was @curdir im Loginprozeß zurückgibt, aber ich vermute, dort liegt das Problem.

Entferne mal alle "@curdir\" im Script und teste dann mal.

 

Die drivemap.ini liegt ja wohl im Netlogon-Verzeichnis ?

Link zu diesem Kommentar

@zuschauer

 

Du hast halbrichtig gelegen....

 

Ich mußte das @CURDIR durch den vollen Netzwerkpfad ersetzen, damit das funktioniert (und das tut es nun richtig gut :D ).

 

Ich hänge die endgültigen Versionen der einzelnen Bestandteile mal an, falls jemand ein ähnliches Anliegen hat (damit es gefunden wird, hab ich noch mal eine passende Überschrift eingefügt).

 

(Ich wüßte gerne mal, wie die Kiste konfiguriert war, auf der das Script beim Autor entstanden ist :confused: )

Link zu diesem Kommentar

irgendwie hat der Upload nicht funktioniert .... ich poste es mal so:

 

#Alle drei Dateien müssen zusammen mit kix32.exe in die NetLogon-Freigabe

 

#login.cmd - Dieses Script ruft das eigentliche Loginscript auf

 

\\SERVERNAME\netlogon\kix32 \\SERVERNAME\netlogon\lw.kix

 

#Das Login-Script

 

;=========================================

; KiXtart Script.

; based on Bob Kelly´s Script, 3/29/2002

; modified by André Pohl with Support

; of some people on http://www.mcseboard.de

;=========================================

 

Break On CLS

 

:Start

 

; Map Drives Based On DRIVEMAP.INI

 

If Exist("\\SERVERNAME\netlogon\DriveMap.ini")

 

? "Mapping Drive Letters: "

 

$ = MapDrive("F")

$ = MapDrive("G")

; $ = MapDrive("H") -> auskommentiert, da bei uns auf H die Homeverzeichnisse gebunden werden

$ = MapDrive("I")

$ = MapDrive("J")

$ = MapDrive("K")

$ = MapDrive("L")

$ = MapDrive("M")

$ = MapDrive("N")

$ = MapDrive("O")

$ = MapDrive("P")

$ = MapDrive("Q")

$ = MapDrive("R")

$ = MapDrive("S")

$ = MapDrive("T")

$ = MapDrive("U")

$ = MapDrive("V")

$ = MapDrive("W")

$ = MapDrive("X")

$ = MapDrive("Y")

$ = MapDrive("Z")

 

If $LettersMapped <> "True"

"None." ?

EndIf

 

Else

 

? "Error: Drive Map File Not Found!"

 

EndIf

 

:End

Exit

 

:Functions

Function MapDrive($DriveLetter)

$Group = ReadProfileString("\\SERVERNAME\netlogon\DriveMap.ini","$DriveLetter","Group")

 

If InGroup ("$Group") OR $Group = "All"

$Share = ReadProfileString("\\SERVERNAME\netlogon\DriveMap.ini","$DriveLetter","Share")

If $LettersMapped = "True" ", $DriveLetter" Else "$DriveLetter" EndIf $LettersMapped = "True"

If Exist ("$DriveLetter:")

Shell "%comspec% /c NET USE $DriveLetter: /Delete >nul"

EndIf

Shell '%comspec% /c NET USE $DriveLetter: "$Share" >nul'

EndIf

 

$MapDrive = @ERROR

 

EndFunction

 

# Die DriveMap.ini

 

[A]

Comment=System Reserved

 

Comment=System Reserved

 

[C]

Comment=System Reserved

 

[D]

Comment=System Reserved

 

[E]

Comment=System Reserved

 

[F]

Group=

Share=

Comment=

 

[G]

Group=Abteilung_A

Share=\\SERVERNAME\FREIGABENAME

Comment=

 

;auskommentiert, da bei uns auf H die Homes gebunden werden.

;[H]

;Group=

;Share=

;Comment=

 

Group=

Share=

Comment=

 

[J]

Group=Domänen-Admins

Share=\\SERVERNAME\FREIGABENAME

Comment=

 

[K]

Group=

Share=

Comment=

 

[L]

Group=

Share=

Comment=

 

[M]

Group=

Share=

Comment=

 

[N]

Group=

Share=

Comment=

 

[O]

Group=

Share=

Comment=

 

[P]

Group=

Share=

Comment=

 

[Q]

Group=

Share=

Comment=

 

[R]

Group=

Share=

Comment=

 

Group=

Share=

Comment=

 

[T]

Group=

Share=

Comment=

 

Group=

Share=

Comment=

 

[V]

Group=

Share=

Comment=

 

[W]

Group=

Share=

Comment=

 

[X]

Group=

Share=

Comment=

 

[Y]

Group=

Share=

Comment=

 

[Z]

Group=

Share=

Comment=

Link zu diesem Kommentar
  • 1 Jahr später...

hi , is es nich einfacher so:

If Exist("@LSERVER\netlogon\DriveMap.ini")

 

@LSERVER = anmeldeserver ... (der netlogon-ordner wird ja eh syncronisiert ;)) damit is egal welcher anmeldeserver genommen wird, und falls einer ausfällt ... geht das script immernoch :)

 

alternativ währ auch folgende wege:

 

$FileLocation="\\s01bdc\netlogon\files\"

-den weg nutze ich immer macht es n bischen übersichtlicher

$FileLocation=@LDRIVE + "\files

 

und dann kannste mit $FileLocation arbeiten

 

das script an sich funktioniert einwandfrei... habs grad mal getestet.

 

denke eher das du kix falsch aufrufst ...oder das kix auf den client nich installiert is...

 

zeig mal die batch-datei die das script aufruft ...

 

c:\windows\command\XCOPY %0\..\KIX32.EXE %WINDIR%\SYSTEM\ /D /H /I /R /V /Y> NUL

 

--so ruf ich mein script aus der .bat auf funktioniert problemlos unter nt, 2k xp und sogar 2003 wts

%WINDIR%\SYSTEM32\KIX32.EXE %0\..\logon.kix

 

mfg stefan

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...