Ajout d'objets d'annuaire
Pour ajouter de nouveaux objets d'annuaire, utilisez la propriété Children de la classe DirectoryEntry. Cette propriété retourne un objet DirectoryEntries qui expose la méthode Add.
Pour ajouter un objet, effectuez une liaison au conteneur dans lequel vous voulez ajouter l'objet. Une fois l'objet ajouté, appelez CommitChanges pour enregistrer l'objet du cache dans l'annuaire. L'exemple de code suivant montre comment utiliser la méthode Add pour ajouter de nouveaux objets.
Try
' Bind to the Users container, then add a new group and a new contact.
Dim de As New DirectoryEntry("LDAP://CN=Users,DC=fabrikam,DC=com")
' Create a new group object in the local cache.
Dim newGroup As DirectoryEntry = de.Children.Add("CN=Sales", "group")
' Active Directory requires the sAMAccountName property for all
' Security Principal objects beginning with Windows Server 2003
' servers, the sAMAccountName will automatically be generated when
' Commit() is called if no sAMAccountName is provided.
newGroup.Properties("sAMAccountName").Value = "Sales"
' Save the new object to the server.
newGroup.CommitChanges()
' Create and commit a new contact object.
Dim newContact As DirectoryEntry = de.Children.Add("CN=New Contact", "contact")
newContact.CommitChanges()
' Bind to the Computers container and add a new computer.
Dim de01 As New DirectoryEntry("LDAP://CN=Computers,DC=fabrikam,DC=com")
Dim newComputer As DirectoryEntry = de01.Children.Add("CN=New Computer", "computer")
newComputer.CommitChanges()
Catch COMEx As COMException
' If a COMException is thrown, then the following code can catch the text of the error.
' For more information about handling COM exceptions, see Handling Errors.
Console.WriteLine(COMEx.ErrorCode)
End Try
try
{
// Bind to the Users container, add a new group and a new contact.
DirectoryEntry de = new DirectoryEntry("LDAP://CN=Users,DC=fabrikam,DC=com");
// Create a new group object in the local cache.
DirectoryEntry newGroup = de.Children.Add("CN=Sales", "group");
// Active Directory requires the sAMAccountName property for all
// Security Principal objects beginning with Windows Server 2003
// servers, the sAMAccountName will automatically be generated when
// Commit() is called if no sAMAccountName is provided.
newGroup.Properties["sAMAccountName"].Value = "Sales";
// Save the new object to the server.
newGroup.CommitChanges();
// Create and add a new contact object.
DirectoryEntry newContact = de.Children.Add("CN=New Contact", "contact");
newContact.CommitChanges();
// Bind to the Computers container and add a new computer.
DirectoryEntry de01 = new DirectoryEntry("LDAP://CN=Computers,DC=fabrikam,DC=com");
DirectoryEntry newComputer = de01.Children.Add("CN=New Computer", "computer");
newGroup.CommitChanges();
}
catch (COMException COMEx)
{
// If a COMException is thrown, then the following code example can catch the text of the error.
// For more information about handling COM exceptions, see Handling Errors.
Console.WriteLine(COMEx.ErrorCode);
}
Après avoir ajouté un nouvel objet, utilisez la méthode Exists pour vérifier une entrée d'annuaire. Cette méthode se trouve dans la classe DirectoryEntry. L'exemple de code suivant montre comment utiliser Exists.
If ds.Exists("LDAP://CN=Sales,CN=Users,DC=fabrikam,DC=com") = True Then
Console.WriteLine("object exists")
Else
Console.WriteLine("object does not exist")
End If
if (DirectoryEntry.Exists("LDAP://CN=Sales,CN=Users,DC=fabrikam,DC=com"))
Console.WriteLine("object exists");
else
Console.WriteLine("object does not exist");
Voir aussi
Référence
System.DirectoryServices
DirectoryEntry
DirectoryEntries
Concepts
Création, suppression, changement de nom et déplacement des objets
Send comments about this topic to Microsoft.
Copyright © 2007 par Microsoft Corporation. Tous droits réservés.