Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1490 connectés 

 



Dernière réponse
Sujet : [Script] Génération de mot de passe en ligne de commande
ShonGail Tu peux aussi faire un script full autoit pour créer ton compte local puis redémarrer ton serveur :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
ShonGail Tu peux aussi faire un script full autoit pour créer ton compte local puis redémarrer ton serveur :)
Wolfman Bon. Pas grave, éventuellement je chargerai le contenu du fichier généré dans la variable d'environnement, et je détruirai le fichier. Je vais essayer comme ça.
 
@ nebulios : je veux un script utilisable aussi pour mes 2003, mais merci pour l'idée, ça me servira peut-être pour autre chose :)
nebulios Si tu es sous 2008/2008 R2 les Managed Service Accounts peuvent répondre à ce genre de besoin. Ce sont des comptes de service dont le mot de passe se réinitialise automatiquement.
ShonGail Oui mais cela nécessite soit :

 

- de pouvoir utiliser la commande setx (rajoute ~5 secs au script). Il faut donc que l'OS la contienne ou il faut la rendre accessible
- d'écrire dans le registre puis de "rafraichir" l'environnement mais cela rajoute 30secs au script (sur ma machine en tout cas) :(

 

Attention aussi à cet avertissement dans le help de setx :
"Sur un système local, les variables créées ou modifiées par cet
outil seront disponibles dans les fenêtres de commandes
futures mais pas dans la fenêtre de commande CMD.exe actuelle."

 

Fais ton choix :D

Wolfman Génial ! :)
 
Et c'est possible de l'envoyer dans une variable d'environnement plutôt que dans un fichier ?
ShonGail Salut,
 
en autoit, ca donnerait ça :

Code :
  1. AutoItSetOption("MustDeclareVars", 1)
  2. Dim $MDP, $boucle, $boucle2, $chaine[4][2], $RND, $temp, $file
  3. $chaine[0][0] = "abcdefghijklmnopkrstuvwxyz"
  4. $chaine[0][1] = 4
  5. $chaine[1][0] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  6. $chaine[1][1] = 4
  7. $chaine[2][0] = "0123456789"
  8. $chaine[2][1] = 2
  9. $chaine[3][0] = "+-_#@"
  10. $chaine[3][1] = 1
  11. For $boucle = 0 To 3
  12. For $boucle2 = 1 To $chaine[$boucle][1]
  13.  $temp &= StringMid($chaine[$boucle][0], Random(1, StringLen($chaine[$boucle][0]), 1), 1)
  14. Next
  15. Next
  16. For $boucle = 0 To StringLen($temp)
  17. $RND = Random(1, StringLen($temp), 1)
  18. If $RND = 0 Then $RND = 1
  19. $MDP &= StringMid($temp, $RND, 1)
  20. $temp = StringReplace($temp, $RND, " " )
  21. $temp = StringStripWS($temp, 8)
  22. Next
  23. $file = FileOpen(@TempDir & "\MDP.txt", 1)
  24. If $file <> -1 Then
  25. FileWrite($file, $MDP)
  26. FileClose($file)
  27. EndIf


 
ici, tu as génération d'un mdp avec 4 lettres minuscules, 4 majuscules, 2 chiffres et 1 caractère étendu.
Le tout est écrit dans un fichier dans le dossier %temp%

Wolfman Mon problème est de savoir comment faire ça :D
Je@nb Tu génères aléatoirement un mot de passe, tu le test selon tes critères de complexité et si c'est pas bon tu en regénère un, tu le retest, etc etc. (bref une boucle et qq if
 
Tu sors de la boucle une fois qu'un mdp est complexe et tu le soumets à ton système :)
Wolfman Hello,
 
je reviens sur mon sujet, parce que je rencontre un petit problème. J'ai fait mon script de déploiement, tout va bien, etc.
 
Mon problème : le mot de passe généré aléatoirement n'est pas toujours un mot de passe complexe ! Résultat : si je n'ai pas de chance, sur un serveur que j'installe, le script me jette parce que le compte n'a pas pu se créer !!
 
Je repars donc un peu à zéro : comment se générer un mot de passe complexe... :(
Wolfman Rooooh... Je t'aime  [:gum]  
 
Merci :D
couak en considérant que ton windows est en langue française :

Code :
  1. for /F "tokens=1-8 delims= " %i in ('net user /add pouet /random ^| findstr passe') do set PASS=%p


 
si tu comptes le mettre dans un fichier .bat il faut doubler les %

Code :
  1. for /F "tokens=1-8 delims= " %%i in ('net user /add pouet /random ^| findstr passe') do set PASS=%%p

Wolfman Hello,
 
J'ai une petite question qui devrait rapidement trouver réponse ici avec tous les fanas de scripts qui tournent dans le coin :D
 
Je suis en train de me faire un script pour créer automatiquement une tâche planifiée de redémarrage lorsque je déploie un serveur. Dans ce script, je souhaite pouvoir créer un compte local qui fera tourner la tâche en question.
 
Mon problème est de pouvoir fournir un mot de passe à ce compte, sans qu'il apparaisse pour autant dans le script. Ce que j'aurais voulu, c'est donc pouvoir générer un mot de passe aléatoire et le fournir au compte. J'ai bien trouvé la commande net user nom_du_compte /random, mais je ne vois pas comment récupérer le mot de passe pour ensuite l'appliquer lors de la création de la tâche planifiée.
 
Il me faudra donc soit une méthode pour récupérer ce mot de passe généré, soit un script ou un petit outil qui me permettrait de stocker le mot de passe dans une variable d'environnement ou un fichier histoire de pouvoir le réutiliser dans la suite de mon script.
 
 
Je sais pas si j'ai  été clair :D

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR