Jump to content

VBScript - Verständnisproblem bei GetObject


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

Empfohlene Beiträge

Hallo,

 

verstehe gerade mal die Welt nicht mehr... :eek:

 

Kurz erklärt lese ich, mit diesem Script" den ADSPath aller User in unserer Domäne aus um damit mit GetObject den User als Object zu holen, damit ich danach das HomeDirectory ändern kann.

Den Pfad lese ich dann über objRS.Fields(0).Value (siehe Code unten) aus. Das Ganze sieht dann so aus: LDAP://CN=Administrator,CN=Users,DC=domain,DC=local

 

Wenn ich nun versuche ein Userobject mit GetObject und dem ADSPath als Parameter zu holen, bekomme ich, wenn ich die Eigenschaften und Attribute des Userobjectes folgende Fehlermeldung:

 

"...Der Moniker "" ist unbekannt..."

 

Kopiere ich den ADSPath manuell als Parameter von GetObject funktioniert es wunderbar.

 

Wo ist mein Fehler. Ich habe nun schon hundertmal drübergeschaut, ich kann keinen Fehler finden... :(

 

Gruß,

Shemeneto

 

 

Dim strDomainDN, strBase, strFilter, strAttrs, strScope, objConn, objRS, objUser, homeD, newServer, newHomeD, ldapPath


strDomainDN = "dc=bsgn,dc=mkk,dc=local"   
strBase   =  "<LDAP://" & strDomainDN & ">;"
strFilter = "(&(objectclass=user)(objectcategory=person));" 
strAttrs  = "ADSPath;"
strScope  = "subtree"

Set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
Set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
While Not objRS.EOF
Set objUser = GetObject(objRS.Fields(0).Value)
homeD = objUser.Get("homeDirectory")
homeD = Split(homeD, "\")
If LCase(homeD(2)) = LCase("alterServer") Then
	newServer = "neuerServer"
	newHomeD = "\\" & newServer & "\" & homeD(3) & "\" & homeD(4)
	WScript.Echo newHomeD
	objUser.Put "homeDirectory", newHomeD
	objUser.SetInfo
End If
Set objUser = Nothing
   objRS.MoveNext
Wend

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...