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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directory

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directory

n°1792302
dob2806
Posté le 26-09-2008 à 10:51:37  profilanswer
 

Bonjour à tous.
 
je dispose actuellement d'un fichier .bat qui me permet de réinitialiser les mdp dans mon AD.
 
le problème c'est que je dois modifier ce fichier manuellement a chaque changement de mot de passe.
 
ce que j'aimerai c'est avoir des variables qui s'appliqueraient a chaque lancement de ce bat pour définir aléatoirement le mot de passe via une liste prédéfinie, qui me générerait aussi la liste sous format txt ou log des mdp générés/attribué a l'utilisateur
 
Et aussi envoyer par mail le mdp attribué à chaque utilisateur via l'utilitaire blat (www.blat.net).
 
ce que j'ai deja c'est cette commande qui me permet de changer le mdp:

Code :
  1. NET USER TOTO01   chut8saut /DOMAIN
  2. NET USER TOTO02   chut8saut /DOMAIN
  3. net user TATA01   cale1loup /DOMAIN
  4. net user TATA02   demi3anne /DOMAIN
  5. net user TITI01   bloc4cuit /DOMAIN
  6. net user TITI02   page5meme /DOMAIN


 
Par avance Merci.


Message édité par dob2806 le 26-09-2008 à 17:26:03
mood
Publicité
Posté le 26-09-2008 à 10:51:37  profilanswer
 

n°1792362
dob2806
Posté le 26-09-2008 à 11:52:24  profilanswer
 

bon admettons que j'ai ma liste de mots pour le mdp dans un fichier dico.txt
 
y a t'il moyen de faire quelque chose avec la commande FOR /F ?
 
genre un  
 

Code :
  1. FOR /F %%a IN (C:\dico.txt) DO SET variable1=%%a
  2. NET USER TOTO01 %%a /DOMAIN


 
comment dans ce cas la recuperer la liste dans un txt ?


Message édité par dob2806 le 26-09-2008 à 12:04:37
n°1792380
dob2806
Posté le 26-09-2008 à 12:36:50  profilanswer
 

bon quand je fais ça
 

Code :
  1. FOR /F %%a IN (C:\test\dico.txt) DO SET VAR1=%%a
  2. FOR /F %%b IN (C:\test\dico2.txt) DO SET VAR2=%%b
  3. @echo TOTO01 %VAR1%%VAR2%%VAR1%


 
ça a l'air de fonctionner mais en fait il me prend la dernière valeur de mes fichiers dico et ce que je souhaiterai c'est qu'il aille cherche de manière aléatoire dans mes fichiers dico.


Message édité par dob2806 le 26-09-2008 à 12:37:31
n°1792627
dob2806
Posté le 26-09-2008 à 17:25:27  profilanswer
 

bon une journée de recherche et j'ai trouvé la solution donc je la poste ici si ça interesse quelqu'un.
 
randomize.bat

Code :
  1. @echo off & setlocal ENABLEEXTENSIONS
  2. set /a haz1=%random%%%120+1
  3. set /a haz2=%random%%%120+1
  4. set /a chi=%random%%%10
  5. set LineNo1=%haz1%
  6. set LineNo2=%haz2%
  7. set "mot1="
  8. set "mot2="
  9. set /a LineNo1-=1
  10. set /a LineNo2-=1
  11. for /f "delims=" %%a in ('more/e +%LineNo1% ^< c:\test\dico.txt') do (
  12.   if not defined mot1 set "mot1=%%a"
  13. )
  14. for /f "delims=" %%b in ('more/e +%LineNo2% ^< c:\test\dico.txt') do (
  15.   if not defined mot2 set "mot2=%%b"
  16. )
  17. echo/ NET USER %1 %mot1%%chi%%mot2% /truc >> modif-password-ad.cmd
  18. echo blat %2 cc: %3 >> envoi-mail-prev.cmd


 
%haz1% va me générer un chiffre aléatoire entre 1 et 121 (car mon fichier dico a 121 lignes), le 120+1 evite la ligne 0...
LineNo1=%haz1% va aller me récupérer la ligne donné par %haz1%
mot1 correspond au mot de la ligne.
 
%chi% correspond a un chiffre entre 0 et 9
 
et %haz2% est la même chose que %haz1% c'est juste que je veux un mdp complexe du genre %mot1%%chi%%mot2%
 
ensuite
 
l_randomize.bat

Code :
  1. @echo off > envoi-mail-prev.cmd
  2. @echo off > modif-password-ad.cmd
  3. for /F "tokens=1-3 delims=;" %%i in (listusers.csv) do call randomize.bat %%i %%j %%k
  4. call envoi-mail-prev.cmd
  5. schdtasks /truc modif-password-ad.cmd /TOD+3
  6. blat admtech@ttt.com modif-password-ad.cmd
  7. pause


 
notre fichier listusers.csv qui contient le nom d'utilisateur de L'AD ainsi que l'adresse mail de l'utilisateur +(eventuellement le mail d'un autre personne a mettre en copie)
 

Code :
  1. toto01;toto01@toto.com;rhtoto01@toto.com
  2. toto02;toto02@toto.com;rhtoto02@toto.com
  3. toto02;toto02@toto.com;rhtoto02@toto.com


 
en exécutant L_randomize cela va nous générer 2 fichier.cmd
 
envoi-mail-prev.cmd (syntaxe à corriger je n'ai pas encore fini)
 

Code :
  1. blat toto01@toto.com cc: rhtoto01@toto.com
  2. blat toto02@toto.com cc: rhtoto02@toto.com
  3. blat toto02@toto.com cc: rhtoto02@toto.com


 
modif-password-ad.cmd
 

Code :
  1. net user toto01 Mot1ChiMot2 /truc
  2. net user toto02 Mot1ChiMot2 /truc
  3. net user toto03 Mot1ChiMot2 /truc


 
Bon je ne sais pas si je suis trés clair mais en corrigeant encore quelques lignes (genre pour blat) cela devrait fonctionner.
 
Le tout bien sur à exécuter sur l'AD !!


Message édité par dob2806 le 02-10-2008 à 11:27:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directory

 

Sujets relatifs
[Résolu]Petite question trés simple pour comparaison entre deux chainea accent grave ne passe pas en UTF8
[Résolu] Problème avec une bouclemodification image dynamique gd2
Parcourir un répertoire (Résolu)[résolu]requete http en php, recuperer le code source d'une page web
[Python] [Resolu]temps en abscisse pour un graph[Batch] Copier string de plusieurs lignes
class CSS != balise style 0o [auto-résolu]modification d'une matrice dans une procedure
Plus de sujets relatifs à : [Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directory


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