Comment puis-je ajouter un utilisateur de domaine à un groupe d'administrateurs local ?

S'il vous plaît Docteur Script...

Hey, Scripting Guy!

Bienvenue dans cette nouvelle section TechNet, dans laquelle le Docteur Script de Microsoft répond aux questions récurrentes sur les scripts d'administration système. Vous avez une question sur les scripts d'administration système ?

Question du jour : comment puis-je ajouter un utilisateur de domaine à un groupe d'administrateurs local ?

Comment puis-je ajouter un utilisateur de domaine à un groupe d'administrateurs local ?Comment puis-je ajouter un utilisateur de domaine à un groupe d'administrateurs local ?

S'il vous plaît Docteur Script... Comment puis-je ajouter un utilisateur de domaine au groupe Administrateurs local d'un ordinateur ?

-- MB

Bonjour MB. Au départ, l'un des objectifs de cette section était d'en savoir plus sur les activités régulières (notamment l'écriture de scripts) des administrateurs système. En effet, depuis nos superbes appartements du campus Microsoft, nous ne nous rendons pas toujours compte de la façon dont se présente leur travail dans le monde réel. Par exemple, dans le Centre de scripts, nous disposons d'un exemple de script qui décrit comment ajouter un utilisateur au compte Administrateurs local :

strComputer = "atl-ws-01"
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer")
objGroup.Add(objUser.ADsPath)

Alors, quel est le problème ? Il n'y en a pas, sauf que ce n'est peut-être pas l'exemple le plus pratique qui soit. Bien sûr, ce script vous explique comment ajouter un utilisateur local au groupe Administrateurs, mais ce que vous voulez vraiment savoir (au vu du nombre de courriers électroniques reçus à ce sujet), c'est comment ajouter un utilisateur de domaine au groupe Administrateurs local. Soyez rassuré, le message est bien passé. Nous allons vous expliquer comment ajouter un utilisateur de domaine au groupe Administrateurs local.

Le script utilisé est pratiquement identique à celui permettant d'ajouter un utilisateur local au groupe Administrateurs. La seule différence réside dans la troisième ligne du script. Dans le script précédent, nous faisions la liaison avec un compte d'utilisateur local d'un ordinateur à l'aide de cette ligne de code :

Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer")

Nous transmettions ensuite la propriété ADsPath de ce compte d'utilisateur à la méthode Add, qui ajoute l'utilisateur au groupe :

objGroup.Add(objUser.ADsPath)

Eh bien, nous souhaitons faire la même chose avec notre nouveau script, mais en faisant la liaison avec un compte d'utilisateur de domaine. Pour cela, il faut remplacer la troisième ligne :

Set objUser = GetObject("WinNT://fabrikam/kenmyer")

Nous utilisons ici le Fournisseur WinNT pour faire la liaison avec le domaine fabrikam et, plus précisément, avec le compte d'utilisateur kenmyer du domaine fabrikam. Ah, je vois que certains sont contrariés. Vous devez marmonner « Mais pourquoi utilisent-ils le Fournisseur WinNT ? ». « Ne devraient-ils pas utiliser le Fournisseur LDAP lors de liaisons avec Active Directory ? »

La réponse est « oui, la plupart du temps ». Cependant, supposons que nous utilisions le Fournisseur LDAP pour extraire la propriété ADsPath de kenmyer à l'aide du code suivant :

Set objUser = GetObject("LDAP://CN=kenmyer,OU=Finance,dc=fabrikam,dc=com")

Cela semble correct, mais nous obtenons une propriété ADsPath qui ressemble à :

LDAP://CN=kenmyer,OU=Finance,dc=fabrikam,dc=com

C'est également correct… jusqu'à ce que vous essayiez de transmettre cette valeur à l'ordinateur local. N'oubliez pas que le Gestionnaire de comptes de sécurité de l'ordinateur local utilise le langage WinNT, pas LDAP. Vous ne pouvez pas transmettre un chemin LDAP à l'ordinateur local.

Il faut donc transmettre le type de propriété ADsPath suivant :

WinNT://fabrikam/kenmyer

Et devinez quoi ? Si nous faisions la liaison avec le domaine fabrikam à l'aide du Fournisseur WinNT, c'est exactement le type de propriété ADsPath que nous obtiendrions. Si vous travaillez exclusivement avec Active Directory, vous devez utiliser le Fournisseur LDAP. Toutefois, si vous envisagez d'extraire un compte d'Active Directory et de l'utiliser dans un groupe d'ordinateurs local, vous devez utiliser le Fournisseur WinNT.

Nous le savons : toutes ces histoires de fournisseurs, de propriété ADsPaths, etc. vous donnent la migraine. Ne vous en faites pas trop pour ça. Utilisez simplement le script suivant pour ajouter un utilisateur de domaine (utilisateur kenmyer du domaine fabrikam) au groupe d'administrateurs local sur l'ordinateur atl-ws-01 :

strComputer = "atl-ws-01"
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators")
Set objUser = GetObject("WinNT://fabrikam/kenmyer")
objGroup.Add(objUser.ADsPath)
Pour en savoir plus

Consultez les archives de S'il vous plaît Docteur Script...