Page 1 sur 1
[R] Activation compte Admin local
Posté : ven. 08 nov. 2013 20:03
par titou974
Bonsoir,
Je créer un script pour des postes de travail en W7. Je souhaite faire un script permettant d'activer le compte admin local, qui par défaut est désactivé sur W7.
J'ai commencé à faire un script qui ouvre la mmc (LUSRMGR.MSC) pas de problème jusque là, mais en simulant les touches clavier via la commande send("{...}"), rien est simulé.
Est ce que la commande "send" fonctionne sur des mmc ?
Avez vous un autre moyen pour activer le compte Admin ?
Merci pour vos réponses.
Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 07:17
par TopXm
Hello
Tu as essayé en passant par la commande DOS suivante ?
Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 10:27
par titou974
Oui faisant un batch qui est exécuté via autoit. oui il me demande un mot de passe et je ne le connais pas forcément.
En déverrouillant le compte Admin via la souris en décochant la case "Le compte est désactivé" le compte s'active sans me demander de mot de passe, et je peux changer le mot de passe si je le souhaite.
Par contre via la commande "net use" une fenêtre DOS me demande un mot de passe, on ne peut pas avec "net use" spécifier un mot de passe en même temps que le déverrouillage ?
Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 10:43
par jguinch
Tu peux essayer avec WMI :
► Afficher le texte
Code : Tout sélectionner
Local $oAccount
; wbemFlagReturnImmediately et wbemFlagForwardOnly servent simplement à accélérer la reqûete WMI dans ce cas
; http://msdn.microsoft.com/en-us/library/aa392301%28v=vs.85%29.aspx
Local Const $wbemFlagReturnImmediately = 0x10
Local Const $wbemFlagForwardOnly = 0x20
; Appel de WMI
Local $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")
; Si l'appel a échoué, on quitte
If $objWMIService = 0 Then Exit
; Requête WMI on demande la liste de tous les comptes locaux (LocalAccount = True)
; dont le SID se termine par "-500" : on doit forcément tomber sur administrateur/administrator
$sQueryAccount = "select * from Win32_UserAccount Where LocalAccount = True AND SID like '%-500'"
; On exécute la reqûete
Local $colAccount = $objWMIService.ExecQuery($sQueryAccount, "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
; Si le résustat n'est pas un objet, erreur => on quitte
If NOT IsObj($colAccount) Then Exit
; On parcous les objets 1 à 1
For $oAccount In $colAccount
; Si le compte est désactivé
If $oAccount.Disabled Then
$oAccount.Disabled = False ; On change le status en Activé
$oAccount.Put_ ; On applique
ExitLoop
EndIf
Next
Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 10:53
par titou974
Merci je vais tester, mais étant noob en script, tu pourrais ou quelqu'un d'autre, me decrire ton script. J'aime bien comprendre ce qui m'est inconnu.
Merci en tous cas

Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 12:55
par jguinch
J'ai modifié mon post précédent (ajout de commentaires).
Dis-moi si tu as besoin d'explications supplémentaires.
Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 19:29
par titou974
C'est Parfait !!!!
Ça fonctionne et en plus je comprends le script.
Merci beaucoup, je vais un peux potasser les fonction WMI pour rajouter dans ton script le changement de mot de passe Admin.
Merci encore.
Re: [..] Activation compte Admin local
Posté : sam. 09 nov. 2013 19:29
par titou974
C'est Parfait !!!!
Ça fonctionne et en plus je comprends le script.
Merci beaucoup, je vais un peux potasser les fonction WMI pour rajouter dans ton script le changement de mot de passe Admin.
Merci encore.
Re: [R] Activation compte Admin local
Posté : sam. 09 nov. 2013 20:32
par titou974
Sur mon desktop ca fonctionne, mais sur mon laptop j'ai le message ci-dessous :
► Afficher le texte
C:\Users\Laurent\Desktop\AutoIt\InfoTools\Scripts\DeverrouillageAdminLocal.au3 (26) : ==> The requested action with this object has failed.:
$oAccount.Put_
$oAccount.Put_^ ERROR
Pourtant c'est du W7 sur les 2 machines
EDIT : J'ai trouvé, il faut que je rajoute "#RequireAdmin" et ca fonctionne.
Merci