Re: Eigenschaften-Dialog eines Active Directory Objekts aufrufen

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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/



.



Relevant Pages

  • Re: Feldnamen auslesen
    ... Dim fsoTblFile ... End Select ... If AnzArgs> 0 Then ... Set fso = CreateObject ...
    (microsoft.public.de.access)
  • Re: =?ISO-8859-15?Q?Zellen=E4nderung_=FCbernehmen?=
    ... ' Private Sub Worksheet_Calculate ... ' Set WO = New clsWorksheetObserver ... ' If WO Is Nothing Then Initialize_WorksheetObserver ...
    (microsoft.public.de.excel)
  • Re: =?ISO-8859-15?Q?Zellen=E4nderung_=FCbernehmen?=
    ... ' Private Sub Worksheet_Calculate ... ' Set WO = New clsWorksheetObserver ... ' If WO Is Nothing Then Initialize_WorksheetObserver ...
    (microsoft.public.de.excel)
  • Re: Outlook Heute Gesendete Mails
    ... Here's the code for doing this. ... If it is, then it moves it to the folder of your chice, in this case the Sent Items folder of the other user's mailbox. ... Set olkSentItems = Session.GetDefaultFolder.Items ... Dim olkFolder As Outlook.MAPIFolder ...
    (microsoft.public.de.exchange)
  • Re: Dynamische Datenquelle im AC2007 Formular funktioniert nicht
    ... Die Abfrage wird aber nicht im Unterformular ausgeführt obwohl ich jetzt mit me.recordsource gar nichts mehr zu machen brauche - da ich das UF ja direkt an die von CreateQuery erzeugte Abfrage hängen kann. ... Function CreateQuery(strSQL As String, Optional Queryname As String = "qrySorting") As Boolean ... Set dbs = CurrentDb ... strObjectName As String) As Boolean ...
    (microsoft.public.de.access)