Freigeben über


Methoden der IADs-Eigenschaft

Die Eigenschaftenmethoden der IADs-Schnittstelle rufen die in der folgenden Tabelle beschriebenen Eigenschaften ab oder legen sie fest. Weitere Informationen zu Eigenschaftenmethoden finden Sie unter Schnittstelleneigenschaftenmethoden.

Eigenschaften

ADsPath

Die ADsPath-Zeichenfolge dieses Objekts. Die Zeichenfolge identifiziert dieses Objekt eindeutig in einer Netzwerkumgebung. Das Objekt kann immer mithilfe dieses Pfads abgerufen werden.

Zugriffstyp: Schreibgeschützt

Skriptdatentyp: BSTR

// C++ method syntax
HRESULT get_ADsPath(
  [out] BSTR* pbstrADsPath
);

Klasse

Der Name der Objektschemaklasse.

Zugriffstyp: Schreibgeschützt

Skriptdatentyp: BSTR

// C++ method syntax
HRESULT get_Class(
  [out] BSTR* pbstrClass
);

GUID

Der global eindeutige Bezeichner des Verzeichnisobjekts. Die IADs-Schnittstelle konvertiert die GUID aus einer Oktettzeichenfolge, wie sie auf einem Verzeichnisserver gespeichert ist, in ein Zeichenfolgenformat.

Zugriffstyp: Schreibgeschützt

Skriptdatentyp: BSTR

// C++ method syntax
HRESULT get_GUID(
  [out] BSTR* pbstrGUID
);

Name

Der relative Name des Objekts, der innerhalb des zugrunde liegenden Verzeichnisdiensts benannt ist. Dieser Name unterscheidet dieses Objekt von seinen gleichgeordneten Elementen.

Zugriffstyp: Schreibgeschützt

Skriptdatentyp: BSTR

// C++ method syntax
HRESULT get_Name(
  [out] BSTR* pbstrName
);

Parent

Die ADsPath-Zeichenfolge des übergeordneten Containers. Active Directory lässt die Bildung des ADsPath eines bestimmten Objekts nicht zu, indem die Eigenschaften Parent und Name verkettet werden. Obwohl dieser Vorgang in einigen Anbietern funktioniert, ist nicht garantiert, dass er für alle Implementierungen funktioniert. Der ADsPath ist garantiert gültig und sollte immer verwendet werden, um den Schnittstellenzeiger eines Objekts abzurufen.

Zugriffstyp: Schreibgeschützt

Skriptdatentyp: BSTR

// C++ method syntax
HRESULT get_Parent(
  [out] BSTR* pbstrParent
);

Schema

Die ADsPath-Zeichenfolge des Schema-Klassenobjekts dieses Objekts.

Zugriffstyp: Schreibgeschützt

Skriptdatentyp: BSTR

// C++ method syntax
HRESULT get_Schema(
  [out] BSTR* pbstrSchema
);

Bemerkungen

In Active Directory ist die von der GUID zurückgegebene GUID eine Zeichenfolge von Hexadezimalstellen. Verwenden Sie die resultierende GUID , um direkt an das Objekt zu binden.

Dim x As IADs
Set x = GetObject("LDAP://servername/<GUID=xxx>")

Dabei ist xxx der Wert, der von der GUID-Eigenschaft zurückgegeben wird. Weitere Informationen finden Sie unter Verwenden von objectGUID zum Binden an ein Objekt. Beachten Sie, dass die ADsPath-Eigenschaftsmethode , wenn Sie eine GUID zum Binden an ein Objekt verwenden, Werte zurückgibt, die sich von den normalen Werten unterscheiden, die zurückgegeben würden, wenn Sie einen distinguished Name (DN) zum Binden an dasselbe Objekt verwenden. In der folgenden Tabelle sind beispielsweise die Werte aufgeführt, die zurückgegeben werden, wenn die beiden verschiedenen Bindungsmethoden zum Binden an dasselbe Benutzerobjekt verwendet werden.

Binden mithilfe von DN Binden mithilfe der GUID
Name CN=Jeff Smith CN=Jeff Smith
Parent LDAP://server/CN=Users,DC=Fabrikam,DC=com LDAP://server/CN=Users,DC=Fabrikam,DC=com
ADsPath LDAP://server/CN=Jeff Smith,CN=Users,DC=Fabrikam,DC=com <LDAP://server/ GUID=c0f59dfcf507d311a99e0000f879f7c7c7>

Hinweis

Der WinNT-Anbieter unterstützt keine Bindung mithilfe der Objekt-GUID und gibt die GUID-Eigenschaft in einem etwas anderen Zeichenfolgenformat zurück.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Objektdaten mithilfe von Eigenschaftenmethoden der IADs-Schnittstelle abgerufen werden.

Dim x As IADs
Dim parent As IADsContainer
Dim cls As IADsClass
Dim op As Variant

On Error GoTo Cleanup

Set x = GetObject("WinNT://Fabrikam/Administrator")
Debug.Print "Object Name: " & x.Name
Debug.Print "Object Path: " & x.ADsPath
Debug.Print "Object Class: " & x.Class
 
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Debug.Print "Class Name is: " & cls.Name
For Each op In cls.OptionalProperties
    Debug.Print "Optional Property: " & op
Next op

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

Im folgenden Codebeispiel wird gezeigt, wie Objektdaten mithilfe von Eigenschaftenmethoden der IADs-Schnittstelle abgerufen werden.

<HTML>
<head><title></title></head>

<body>
<%
Dim x 
On Error Resume Next
 
Set x = GetObject("WinNT://Fabrikam/Administrator")
Response.Write "Object Name: " & x.Name & "<br>"
Response.Write "Object Path: " & x.ADsPath & "<br>"
Response.Write "Object Class: " & x.Class & "<br>"
 
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Response.Write "Class Name is: " & cls.Name & "<br>"
For Each op In cls.OptionalProperties
    Response.Write "Optional Property: " & op & "<br>"
Next op
%>

</body>
</html>

Im folgenden Codebeispiel wird gezeigt, wie Sie mit den Eigenschaftenmethoden der IADs-Schnittstelle arbeiten.

#include <stdio.h>
#include <activeds.h>
 
int main(int argc, char* argv[])
{
    IADs *pADs = NULL;
    IADsUser *pADsUser = NULL;
    IADsClass *pCls = NULL;
    CComBSTR sbstr;
 
    HRESULT hr = CoInitialize(NULL);
    if (hr != S_OK) { return 0; }
 
    hr=ADsGetObject(L"WinNT://Fabrikam/Administrator",
                IID_IADsUser,
                (void**) &pADsUser);
    if (hr != S_OK) { goto Cleanup; }
 
    hr = pADsUser->QueryInterface(IID_IADs, (void**) &pADs);
    if( hr !=S_OK) { goto Cleanup;}
 
    pADsUser->Release();
 
    if( S_OK == pADs->get_Name(&sbstr) ) {
        printf("Object Name: %S\n",sbstr);
    }
 
    if( S_OK == pADs->get_ADsPath(&sbstr) ) {
        printf("Object path: %S\n",sbstr);
    }
 
    if( S_OK == pADs->get_Class(&sbstr) ) {
        printf("Object class: %S\n",sbstr);
    }
 
    hr = pADs->get_Schema(&sbstr);
    if ( hr != S_OK) {goto Cleanup;}
 
    hr = ADsGetObject(sbstr,IID_IADsClass, (void**)&pCls);
    if ( hr != S_OK) {goto Cleanup;}
    if( S_OK == pCls->get_Name(&sbstr) ) {
        printf("Class name is %S\n", sbstr);
    }
 
 Cleanup:
    if(pADs)
        pADs->Release();

    if(pIADsUser)
        pADsUser->Release();

    if(IADsClass)
        pADsClass->Release();

    CoUninitialize();

    if(hr==S_OK)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
WindowsServer 2008
Header
Iads.h
DLL
Activeds.dll
IID
IID_IADs ist definiert als FD8256D0-FD15-11CE-ABC4-02608C9E7553

Siehe auch

Iads

IADsContainer