OVH Cloud OVH Cloud

Créer un compte local administrateur sur WinXP

3 réponses
Avatar
Sea
Bonjour,
J'aimerai que ce compte "AdminBe" soit dans le groupe local
"Administrateurs" d'un poste Win XP francais.
Voici mon script :
''''''''''''''' ici commence le script''''''''''''''''
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "AdminBe")
objUser.SetPassword "pbl45s"
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
''''''''''''''''''''''Fin''''''''''''''''''''''''
Mais le problème que je rencontre c'est que quand je modifie "user" dans le
colAccounts par "administrateurs" ca me renvoie une erreur, idem avec
administrators.
Quelqu'un connait un autre moyen pour parvenir à mes fin ?

Merci

3 réponses

Avatar
Fabricem [MS]
Bonjour

IL faut le créer avec "user" puis intégrer le compte créer dans le groupe
administrateurs

Cdlt

--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


"Sea" wrote in message
news:
Bonjour,
J'aimerai que ce compte "AdminBe" soit dans le groupe local
"Administrateurs" d'un poste Win XP francais.
Voici mon script :
''''''''''''''' ici commence le script''''''''''''''''
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "AdminBe")
objUser.SetPassword "pbl45s"
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
''''''''''''''''''''''Fin''''''''''''''''''''''''
Mais le problème que je rencontre c'est que quand je modifie "user" dans
le
colAccounts par "administrateurs" ca me renvoie une erreur, idem avec
administrators.
Quelqu'un connait un autre moyen pour parvenir à mes fin ?

Merci





Avatar
Sea
J'ai suivis vos conseils, et j'ai donc rajouté l'intégration du compte dans
le groupe administrateur, seulement, lors de l'execution, il me marque que le
compte n'existe pas.

############debut######

strComputer = "."
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "AdminBe")
objUser.SetPassword "init"

objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag

objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer & "/Administrateurs,group")
Set objUser = GetObject("WinNT://" & strComputer & "/AdminBe,user")
objGroup.Add(objUser.ADsPath)

##########fin###
Qu'ais je fait d'incorecte ?

"Fabricem [MS]" wrote:

Bonjour

IL faut le créer avec "user" puis intégrer le compte créer dans le groupe
administrateurs

Cdlt

--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


"Sea" wrote in message
news:
Bonjour,
J'aimerai que ce compte "AdminBe" soit dans le groupe local
"Administrateurs" d'un poste Win XP francais.
Voici mon script :
''''''''''''''' ici commence le script''''''''''''''''
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "AdminBe")
objUser.SetPassword "pbl45s"
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
''''''''''''''''''''''Fin''''''''''''''''''''''''
Mais le problème que je rencontre c'est que quand je modifie "user" dans
le
colAccounts par "administrateurs" ca me renvoie une erreur, idem avec
administrators.
Quelqu'un connait un autre moyen pour parvenir à mes fin ?

Merci










Avatar
Jacques Barathon [MS]
Si tu utilises "." pour désigner l'ordinateur, les méthodes GetObject et Add
vont utiliser le domaine en cours au lieu de la machine locale. Tu peux
vérifier ce phénomène en faisant un affichage du dernier objUser dans ton
script, tu verras que le chemin est WinNT://ton-domaine/AdminBe (même chose
avec le groupe Administrateurs). Comme le compte AdminBe n'existe pas dans
le domaine, il t'insulte gentiment et c'est bien normal :-).

Pour pallier à ce problème, remplace le "." par le nom explicite de
l'ordinateur. Une technique parmi d'autres:

--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colSettings = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings
strComputerName = objComputer.Name
Wscript.Echo strComputerName
Next
--- couper ici ---

Il faut penser à remplacer strComputer par strComputerName dans la suite de
ton script.

Enfin, tu peux remplacer les deux dernières lignes de ton script par:
objGroup.Add("WinNT://" & strComputerName & "/AdminBe")

Jacques

"Sea" wrote in message
news:
J'ai suivis vos conseils, et j'ai donc rajouté l'intégration du compte
dans
le groupe administrateur, seulement, lors de l'execution, il me marque que
le
compte n'existe pas.

############debut######

strComputer = "."
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "AdminBe")
objUser.SetPassword "init"

objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag

objUser.SetInfo

Set objGroup = GetObject("WinNT://" & strComputer &
"/Administrateurs,group")
Set objUser = GetObject("WinNT://" & strComputer & "/AdminBe,user")
objGroup.Add(objUser.ADsPath)

##########fin###
Qu'ais je fait d'incorecte ?

"Fabricem [MS]" wrote:

Bonjour

IL faut le créer avec "user" puis intégrer le compte créer dans le groupe
administrateurs

Cdlt

--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


"Sea" wrote in message
news:
Bonjour,
J'aimerai que ce compte "AdminBe" soit dans le groupe local
"Administrateurs" d'un poste Win XP francais.
Voici mon script :
''''''''''''''' ici commence le script''''''''''''''''
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
strComputer = "."
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", "AdminBe")
objUser.SetPassword "pbl45s"
objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD
objUser.Put "userFlags", objPasswordExpirationFlag
objUser.SetInfo
''''''''''''''''''''''Fin''''''''''''''''''''''''
Mais le problème que je rencontre c'est que quand je modifie "user"
dans
le
colAccounts par "administrateurs" ca me renvoie une erreur, idem avec
administrators.
Quelqu'un connait un autre moyen pour parvenir à mes fin ?

Merci