VBS Logon Skript will nicht
-= Luk =- 22.04.2008 - 13:04 1304 8
-= Luk =-
4WD !!
|
Hab heute ein wenig gebastelt und ein relativ einfaches Login Skript erstellt, welches aus dem AD die Organisation ausliest und dann je nach dem die Netzlaufwerke und Drucker verbindet oder nicht. Jedoch ohne Erfolg. Bin ratlos, an was das liegen könnte. 'Anmeldescript
'Initialisierung der Zuordnungsmöglichkeit
Set objMapNWDrive = CreateObject("WScript.Network")
'Initialisierung der AD-Suchmöglichkeit, und suche nach Benutzerobjekt
set WshAD = CreateObject("ADSystemInfo")
Set WshADUser = GetObject("LDAP://ganahl.local/" & WshAD.UserName )
'Feststellen der Abteilung und Umwandlung in Grossbuchstaben
UserDepartment = UCase(WshADUser.Department)
'Auch bei Fehler weitermachen
On Error Resume Next
'Standard Zuweisung
objMapNWDrive.RemoveNetworkDrive "S:"
objMapNWDrive.RemoveNetworkDrive "X:"
objMapNWDrive.RemoveNetworkDrive "Y:"
'Zuweisung nur für Buero
if userDepartment = "Buero" then
objMapNWDrive.MapNetworkDrive "x:", "\\192.168.126.230\public\Ganahl Dateien"
end if
Hab jetzt natürlich nur den oberen Teil drin, die anderen Organisationen habe ich heraus gelöscht.
|
Triple-X
Addicted
|
Was mir jetzt auf die Schnelle auffällt ist, das bei der Zuweisung "UserDepartment" mit einem Großbuchstaben anfängt und beim if nicht. (Zeile 12 & Zeile 25)
Habe aber keine Ahnung ob VBS überhaupt case sensitive ist.
|
Oculus
void
|
ich denke mal, dass hier der hund vergraben liegt: Set WshADUser = GetObject("LDAP://ganahl.local/" & WshAD.UserName )
du willst hier ein bind auf ein ldap-objekt machen, ohne den kompletten CN anzugeben, so geht das nicht so wärs richtig Set WshADUser = GetObject("LDAP://" & WshAD.UserName )
WshAD.UserName liefert dir den kompletten CN des aktuellen users. und vbscript ist nicht case-sensitive
|
Vivo
Dreamworker
|
Warum machst du im AD nicht für jede OE ein eigenes Skript ? ... ist doch weitaus übersichtlicher ...
|
-= Luk =-
4WD !!
|
Funktioniert leider immer noch nicht. Der Pfad ist zu 100% Richtig. Wie gehe ich hier am besten Schritt für Schritt vor, um zu sehen, an welchem Teil des Skripts ein Fehler passiert? Gibt es dafür ein Tool?
Ich möchte das ganze erst einmal so lösen. Danach kann ich mit meinen Ideen ein wenig weiter spielen!
|
Vivo
Dreamworker
|
Am einfachsten ist es das Skript in der cmdline auszuführen und dazwischen Debugwerte auszugeben ... ein kostenpflichtiger Debugger wäre SplineTech VBS Debugger ... (Wennst eine feine Freewareversion findest - bitte posten :-) ) @"so lösen": Es würde dir viel Arbeit ersparen .. aber ich will dich natürlich zu nichts überreden :-)
|
-= Luk =-
4WD !!
|
Könnte es an dem Leerzeichen von diesem Ordner liegen?
objMapNWDrive.MapNetworkDrive "x:", "\\192.168.126.230\public\Ganahl Dateien"
|
Vivo
Dreamworker
|
Ja ...
objMapNWDrive.MapNetworkDrive "x:", """\\192.168.126.230\public\Ganahl Dateien"""
//Edit: ich würd trotzdem ein _ drauss machen ...
|
-= Luk =-
4WD !!
|
Werde es Morgen mal probieren.
Danke
|