Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- From: "Walter Steinsdorfer [MVP]" <wstein@xxxxxxxxxxxxxxxx>
- Date: Thu, 7 Sep 2006 23:33:27 +0200
Hallo Andreas,
ich habe folgendes Problem:
Ich habe benutze ein VB-Script, um ein zu einer bestimmten
Email-Adresse gehöriges Active Directory Objekt (also User oder
Kontakt) zu selektieren. Soweit funktioniert das Script auch ganz
gut. Nun möchte ich aber zu diesem Objekt die Eigenschaften in dem
Dialog anzeigen lassen, in dem sie auch bei einem Doppelklick auf das
Objekt im AD angezeigt werden.
Wie sieht das Coding dazu aus?
das kommt darauf an. Willst du es einfach in einer Message-Box ausgeben? Was
genau bezweckst du mit der Abfrage? Willst du die Daten weiterverarbeiten?
Hier mein Script:
strName = InputBox("Bitte Email des gesuchten Kontos eingeben!")
If strName = "" Then
WScript.Quit
End If
' ADODB-Verbindung einrichten
Set Connection = CreateObject("ADODB.Connection")
Connection.Provider = "ADsDSOObject"
Connection.Open "Active Directory Provider"
'Abfrage formulieren
Set Command = CreateObject("ADODB.Command")
Command.ActiveConnection = Connection
'ADsPath der Domäne ermitteln
Set root = GetObject("LDAP://rootDSE")
ADsPath = root.Get("defaultNamingContext")
'MsgBox "ADsPath der Domäne: " & ADsPath
'Suchabfrage festlegen
If (strName="") Then
Ist diese If-Abfrage nicht ein wenig sinnlos? Weiter oben gibts du an das
bei keiner Eingabe das Skript beendet wird, hier unten überprüfst du das
nochmal.
sFilter = "(&(objectCategory=person)(objectClass=user))"
Else
'sFilter =
"(&(objectCategory=person)(|(objectClass=user)(objectClass=contact))(mail="
& strName & "))"
sFilter = "(&(objectCategory=person)(mail=" & strName & "))"
End If
wenn du nach dem Attribut "mail" suchst wirst du nicht immer Erfolg haben,
da dort nur die primäre SMTP-Adresse enthalten ist. Filtere lieber nach dem
Attribut "proxyAddresses".
'An diesen Informationen sind wir interessiert
sAttribsToReturn = "name,sn, givenName,mail,streetAddress,
postalCode,l"
'Tiefe der Suchabfragge
sDepht = "subTree"
'Command zusammensetzen
query = "<LDAP://" & ADsPath & ">;" & sFilter & ";" &
sAttribsToReturn & ";" & sDepht
'MsgBox "Abfrage: " & query
Command.CommandText = query
'Abfrage ausführen
Set rs = Command.Execute
MsgBox rs.RecordCount & " Benutzerkonten gefunden, die """ & strName
& """ entsprechen."
'Wenn genau ein Objekt gefunden wurde Eigenschaften-Dialog anzeigen
lassen If rs.RecordCount = 1 Then
'!!!HIER FEHLT MIR DER AUFRUF DES EIGENSCHAFTENKATALOGS!!!
Wenn du schreist wirds auch net besser. Hier gibts Beispiele:
http://www.microsoft.com/technet/scriptcenter/scripts/ad/users/status/default.mspx
ohne das jetzt genau nachzuschlagen: Das sollte auch einfacher gehen, da die
Belegung des Attributes "proxyAddresses" in einem AD-Forest immer eindeutig
sein muß.
--
Viele Grüsse aus München
Walter Steinsdorfer [MVP Exchange Server]
Windows 2003 die Expertentipps:
http://www.faq-o-matic.net/content/view/253/2/
.
- Follow-Ups:
- Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- From: A. Hofmeister
- Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- From: Nils Kaczenski [MVP]
- Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- From: Walter Steinsdorfer [MVP]
- Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- References:
- Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- From: A. Hofmeister
- Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- Prev by Date: Re: Zeitstempel der letzen Anmeldung
- Next by Date: Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- Previous by thread: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- Next by thread: Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen
- Index(es):
Relevant Pages
|