blackflash

Logon Scripting, OU mit unterordnerversehen

Hilfe ich weiß nicht mehr weiter und zwar brauch ich Hilfe beim Scripting.

Und zwar Programmiere ich gerade ein Logon Script und hierbei hat sie folgendes Problem eingeschlichen.
Ich muss über das Script auf das Activ Directory zugreifen, um die Gruppenzugehörigkeit abzufragen. Also gebe ich "OU=Auszubildende" ein. So und nun kommt das problem die User, auf die ich zugreißen möchte liegen nicht in Auszubildende sonder in Auszubildende\User.
Nun meine frage wie muss ich das im Script schreiben damit der PC im Richtigen Unterordner den User sucht.


Für alle beiträge bedanke ich mich schon im Vorraus
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 45101

Url: https://administrator.de/forum/logon-scripting-ou-mit-unterordnerversehen-45101.html

Ausgedruckt am: 17.05.2025 um 18:05 Uhr

SlainteMhath
SlainteMhath 22.11.2006 um 15:13:54 Uhr
Goto Top
Also so richtig versteh ich nicht was Du genau willst - aber wenn Du die
OU des angemeldeten Users erfahren willst, geht das so:

Set objADSysInfo  = CreateObject("ADSystemInfo")  
Set objUser = GetObject("LDAP://" & objADSysInfo.UserName)  
Set objOU  = GetObject(objUser.parent)
bastla
bastla 22.11.2006 um 15:14:31 Uhr
Goto Top
Hallo Blackflash und willkommen im Forum!

Versuch's einfach so:
ou=User,ou=Auszubildende,dc=...

HTH
bastla
Blackflash
Blackflash 22.11.2006 um 15:26:34 Uhr
Goto Top
Bastla hat das verstanden was ich meine.
Danke und das funktioniert auch einigermaßen aber nicht richtig.
Nun findet er den Ordner aber die abfrage über die Gruppenmitgliedschaften gibt er fehlerhaft aus.

Hier das script welches ich verwende


Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D


strName = "ThomasB"

Set RootDSE = GetObject("LDAP:RootDSE")
path = "LDAP:
OU=USERS,OU=ENERGIE" & RootDSE.Get("defaultNamingContext")
Set objContainer = GetObject(path)

Set objKonto = objContainer.GetObject("user", "CN=" & strName)

With objKonto
On Error Resume Next
.GetInfo
arrMemberOf = .GetEx("memberOf")

If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "Keine Mitgliedschaften."
Else
WScript.Echo "Gruppenmitgliedschaften:"
For Each Group In arrMemberOf
WScript.Echo Group
Next
End If

intPrimaryGroupID = .Get("primaryGroupID")
WScript.Echo "Primäre Gruppe: " & intPrimaryGroupID
End With
bastla
bastla 22.11.2006 um 15:46:15 Uhr
Goto Top
Hallo Blackflash!

Nur zur Sicherheit / Klarstellung (zb finde ich überhaupt keine "Auszubildenden" in Deinem Beispiel):
"Users" ist eine Unter-OU von "Energie" und nicht Built-In (da sonst "LDAP://ou=Energie,cn=Users,...")?

Grüße
bastla
Blackflash
Blackflash 22.11.2006 um 15:50:01 Uhr
Goto Top
ja das siehst du richtig also die OU heißt Energie\Users\Auszubildende und
in Users liegen User und in Auszubildende und diese muss ich ansteuern
bastla
bastla 22.11.2006 um 20:50:15 Uhr
Goto Top
Hallo Blackflash!

Ich sehe eigentlich nur ein Problem: das fehlende Komma nach "Energie" - so müsste es daher klappen:
path = "LDAP://OU=USERS,OU=ENERGIE," & RootDSE.Get("defaultNamingContext")  

Grüße
bastla
Blackflash
Blackflash 23.11.2006 um 08:33:19 Uhr
Goto Top
danke hat jetzt funktioniert