VBS Logon Skript will nicht

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/vbs_logon_skript_will_nicht_194294/page_1 - zur Vollversion wechseln!


-= Luk =- schrieb am 22.04.2008 um 13:04

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.

Code:
'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 schrieb am 22.04.2008 um 15:04

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 schrieb am 22.04.2008 um 15:16

ich denke mal, dass hier der hund vergraben liegt:

Code:
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
Code:
Set WshADUser = GetObject("LDAP://" & WshAD.UserName )

WshAD.UserName liefert dir den kompletten CN des aktuellen users.


und vbscript ist nicht case-sensitive :)


Vivo schrieb am 22.04.2008 um 15:20

Warum machst du im AD nicht für jede OE ein eigenes Skript ? ... ist doch weitaus übersichtlicher ...


-= Luk =- schrieb am 22.04.2008 um 16:37

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 schrieb am 22.04.2008 um 17:48

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 =- schrieb am 23.04.2008 um 18:42

Könnte es an dem Leerzeichen von diesem Ordner liegen?

objMapNWDrive.MapNetworkDrive "x:", "\\192.168.126.230\public\Ganahl Dateien"


Vivo schrieb am 23.04.2008 um 18:51

Ja ...

objMapNWDrive.MapNetworkDrive "x:", """\\192.168.126.230\public\Ganahl Dateien"""

//Edit: ich würd trotzdem ein _ drauss machen ...


-= Luk =- schrieb am 23.04.2008 um 20:56

Werde es Morgen mal probieren.

Danke




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025