Création de nouveaux utilisateurs dans l’unité d’organisation

Terry Adams a été embauché dans l’organisation Fabrikam Sales. Son rapport direct est Patrick Hines.

Comme indiqué dans l’exemple de code suivant, Joe Durand, administrateur d’entreprise, crée un compte pour lui.

Dim salesOU as IADsContainer
Set salesOU = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=COM")
Set usr = salesOU.Create("user", "CN=Terry Adams")
usr.Put "sAMAccountName", "terryadams"
usr.Put "userPrincipalName", "terryadams@fabrikam.com" 
usr.Put "title" "Marketing Manager"
usr.SetInfo

usr.SetPassword "seahorse"
usr.AccountDisabled = False
usr.SetInfo

Lorsque vous créez un utilisateur, vous devez spécifier un sAMAccountName. Il s’agit d’un attribut obligatoire pour la classe utilisateur. Avant de pouvoir créer une instance d’un objet, vous devez définir tous les attributs obligatoires. Le sAMAccountName est généré automatiquement s’il n’est pas spécifié pour un nouvel utilisateur.

Lorsque vous créez un utilisateur, tous les attributs requis doivent être définis dans le cache local avant l’appel de la méthode IADs. setinfo .

Joe, en tant qu’administrateur, peut attribuer le mot de passe de Terry à l’aide de la méthode IADsUser. SetPassword . La méthode IADsUser. SetPassword ne fonctionnera pas tant que la méthode IADs. setinfo n’a pas été appelée.

Joe active ensuite le compte d’utilisateur en affectant à la propriété IADsUser. AccountDisabled la valeur false.

L’exemple de code suivant montre comment définir Thierry comme responsable de Patrick.

Set usr = GetObject("LDAP://CN=patrickhines,OU=Sales,DC=Fabrikam,DC=COM")
usr.Put "manager", "CN=Terry Adams,OU=Sales,DC=Fabrikam,DC=COM"
usr.SetInfo

Vous vous demandez peut-être ce qui se passe si Thierry change de nom, passe à une autre organisation ou quitte l’entreprise. Qui gère-t-il ce lien de rapport direct ? Pour plus d’informations et pour obtenir la solution à ce problème, consultez réorganisation. Étant donné que le schéma de Active Directory est extensible, vous pouvez modéliser vos objets de manière à inclure des relations de style gestionnaire-directe similaires.

Avant de passer à la tâche suivante, consultez un exemple de code qui montre comment Joe affichera les collaborateurs directs de Terry.

Set usr = GetObject("LDAP://CN=Terry Adams,OU=Sales,DC=Fabrikam,DC=COM")
reports = usr.GetEx ("directReports")

For each directReport in reports
    Debug.Print directReport
Next

Dans cet exemple de code, Patrick s’affiche comme le rapport direct de Terry, même si l’attribut DirectReports n’a jamais été modifié. Active Directory le fait automatiquement.

Dans le monde de l’annuaire, un attribut peut avoir une ou plusieurs valeurs. Comme DirectReports a plusieurs valeurs, vous pouvez accéder à ces informations en examinant le schéma, il est plus facile d’utiliser la méthode IADs. GETEX , qui retourne un tableau de valeurs, qu’une seule ou plusieurs valeurs soient retournées.

Le composant logiciel enfichable utilisateurs et ordinateurs Active Directory vous permet d’afficher les rapports directs et les relations du gestionnaire sur la page de propriétés de l’utilisateur.

Ajout d’utilisateurs à un groupe