Freigeben über


Die GetEx-Methode

Einige Attribute können einen oder mehrere Werte speichern. Beispielsweise ist das otherTelephone-Attribut eines Benutzerobjekts in Active Directory eine Eigenschaft, die null, einen oder viele Werte aufweisen kann. Attribute mit mehreren Werten werden als "mehrwertige Attribute" bezeichnet. Wenn die IADs::Get-Methode zum Abrufen eines mehrwertigen Attributs verwendet wird, müssen die Ergebnisse anders verarbeitet werden, als wenn das Attribut einen einzelnen Wert aufweist. Die von der IADs::GetEx-Methode bereitgestellten Ergebnisse werden jedoch auf die gleiche Weise verarbeitet, unabhängig davon, ob das Attribut einen einzelnen oder mehrere Werte aufweist. In beiden Fällen gibt die IADs::GetEx-Methode die Werte in einem Array zurück.

Die IADs::GetEx-Methode ruft Eigenschaften aus dem Eigenschaftencache ab. Wenn die angegebene Eigenschaft nicht im Cache gefunden wird, führt IADs::GetEx einen impliziten IADs::GetInfo-Aufruf aus.

Die IADs::GetEx-Methode gibt unabhängig von der Anzahl der vom Server zurückgegebenen Werte ein Variantenarray von Varianten zurück. Dies gilt auch dann, wenn das Attribut nur einen Wert enthält.

Dim usr As IADs
On Error GoTo Cleanup

Set usr = GetObject("LDAP://CN=Jeff Smith,CN=Users,DC=fabrikam,DC=com")
homePhones = usr.GetEx("otherHomePhone")
For each phone in homePhones
    Debug.Print phone
Next

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set usr = Nothing

Die IADs::GetEx-Methode kann auch für einwertige Attribute verwendet werden. Die Ergebnisse eines einwertigen Attributs werden mit den Ergebnissen für ein mehrwertiges Attribut verarbeitet.

Dim usr as IADs
On Error GoTo Cleanup

Set usr = GetObject("LDAP://CN=Jeff Smith,CN=Users,DC=fabrikam,DC=com")
sds = usr.GetEx("ntSecurityDescriptor")
For each sd in sds
    Set acl = sd.DiscretionaryACL
Next

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set usr = Nothing

Wenn kein Wert für das Attribut festgelegt ist, gibt IADs::GetEx den Fehler "Eigenschaft nicht im Cache gefunden" zurück.