Delen via


De Methode GetEx

Sommige kenmerken kunnen een of meer waarden opslaan. De andereTelephone kenmerk van een gebruikersobject in Active Directory is bijvoorbeeld een eigenschap die nul, één of veel waarden kan hebben. Kenmerken met meerdere waarden worden 'kenmerken met meerdere waarden' genoemd. Als de IADs::Get methode wordt gebruikt om een kenmerk met meerdere waarden op te halen, moeten de resultaten anders worden verwerkt dan als het kenmerk één waarde heeft. De resultaten van de methode IADs::GetEx worden echter op dezelfde manier verwerkt, ongeacht of het kenmerk één of meerdere waarden heeft. In beide gevallen retourneert de methode IADs::GetEx de waarden in een matrix.

De methode IADs::GetEx haalt eigenschappen op uit de eigenschappencache. Als de opgegeven eigenschap niet in de cache wordt gevonden, voert IADs::GetEx een impliciete IADs::GetInfo aanroep uit.

De methode IADs::GetEx retourneert een variantmatrix met varianten, ongeacht het aantal waarden dat door de server wordt geretourneerd. Dit is waar, zelfs als het kenmerk slechts één waarde bevat.

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

De methode IADs::GetEx kan ook worden gebruikt voor kenmerken met één waarde. De resultaten van een kenmerk met één waarde worden hetzelfde verwerkt als de resultaten voor een kenmerk met meerdere waarden.

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

Als er geen waarde is ingesteld voor het kenmerk, retourneert IADs::GetEx de fout 'Eigenschap niet gevonden in cache'.