Partager via


Appel des propriétés de l'interface ADSI

Vous pouvez accéder directement aux propriétés d'un objet COM ADSI de deux façons. La première consiste à utiliser la méthode InvokeMember. La seconde consiste à utiliser les méthodes InvokeGet et InvokeSet, qui sont des nouvelles méthodes avec Microsoft .NET Framework version 2.0.

L'exemple C# suivant montre comment utiliser la méthode InvokeMember pour récupérer les propriétés IADSUser, FirstName et LastName à partir d'une application à code managé. Pour plus d'informations sur ces propriétés, voir les rubriques « IADsUser », « FirstName » et « LastName » dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.

using System.Reflection;
using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
Object ads = ent.NativeObject;
Type type = ads.GetType();
String firstName = (string)type.InvokeMember(
    "FirstName", 
    BindingFlags.GetProperty, 
    null, 
    ads, 
    null);
String lastName = (string)type.InvokeMember(
    "LastName", 
    BindingFlags.GetProperty, 
    null, 
    ads, 
    null);

L'exemple Visual Basic suivant montre comment utiliser la méthode InvokeMember pour récupérer les propriétés IADSUser, FirstName et LastName à partir d'une application à code managé. Pour plus d'informations sur ces propriétés, voir les rubriques « IADsUser », « FirstName » et « LastName » dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.

Imports System.Reflection
Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim ads As [Object] = ent.NativeObject
Dim type As Type = ads.GetType()
Dim firstName As String = CStr(type.InvokeMember( _
    "FirstName", _
    BindingFlags.GetProperty, _
    Nothing, _
    ads, _
    Nothing))
Dim lastName As String = CStr(type.InvokeMember( _
    "LastName", _
    BindingFlags.GetProperty, _
    Nothing, _
    ads, _
    Nothing))

L'exemple C# suivant montre comment utiliser la méthode InvokeGet pour récupérer les propriétés IADSUser, FirstName et LastName à partir d'une application à code managé. Pour plus d'informations sur ces propriétés, voir les rubriques « IADsUser », « FirstName » et « LastName » dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.

.

using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
String firstName = (string)ent.InvokeGet("FirstName");
String lastName = (string)ent.InvokeGet("LastName");

L'exemple Visual Basic suivant montre comment utiliser la méthode InvokeGet pour récupérer les propriétés IADSUser, FirstName et LastName à partir d'une application à code managé. Pour plus d'informations sur ces propriétés, voir les rubriques « IADsUser », « FirstName » et « LastName » dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.

Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim firstName As String = CStr(ent.InvokeGet("FirstName"))
Dim lastName As String = CStr(ent.InvokeGet("LastName"))

L'exemple C# suivant montre comment utiliser la méthode InvokeMember pour définir la propriété Description d'un objet.

using System.Reflection;
using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
Object ads = ent.NativeObject;
Type type = ads.GetType();
type.InvokeMember("Description", 
    BindingFlags.SetProperty, 
    null, 
    ads, 
    new object[] {"some description"});

// The changes to the object must always be committed or else they 
// will be lost.
ent.CommitChanges(); 

L'exemple Visual Basic suivant montre comment définir la propriété Description d'un objet en utilisant la méthode InvokeMember.

Imports System.Reflection
Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
Dim ads As [Object] = ent.NativeObject
Dim type As Type = ads.GetType()
type.InvokeMember("Description", _
    BindingFlags.SetProperty, _
    Nothing, _
    ads, _
    New Object() {"some description"})

' The changes to the object must always be committed or else they 
' will be lost.
ent.CommitChanges()

L'exemple C# suivant montre comment définir la propriété Description d'un annuaire en utilisant la méthode InvokeSet. Pour plus d'informations sur la propriété Description, voir la rubrique « Description » dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.

using System.DirectoryServices;

DirectoryEntry ent = new DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com");
ent.InvokeSet("Description", new object[] {"some description"});

// The changes to the object must always be committed or else they 
// will be lost.
ent.CommitChanges();

L'exemple Visual Basic suivant montre comment définir la propriété Description d'une entrée d'annuaire en utilisant la méthode InvokeSet. Pour plus d'informations sur la propriété Description, voir la rubrique « Description » dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkID=27252.

Imports System.DirectoryServices

Dim ent As New DirectoryEntry("LDAP://CN=My User,DC=Fabrikam,DC=com")
ent.InvokeSet("Description", New Object() {"some description"})

' The changes to the object must always be committed or else they 
' will be lost.
ent.CommitChanges()

Voir aussi

Référence

System.DirectoryServices
DirectoryEntry
Type

Concepts

Appel d'ADSI

Send comments about this topic to Microsoft.

Copyright © 2007 par Microsoft Corporation. Tous droits réservés.