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

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

Marsh Posté le 26-09-2008 à 10:51:37    

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
Reply

Marsh Posté le 26-09-2008 à 10:51:37   

Reply

Marsh Posté le 26-09-2008 à 11:52:24    

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
Reply

Marsh Posté le 26-09-2008 à 12:36:50    

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
Reply

Marsh Posté le 26-09-2008 à 17:25:27    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed