Script changement de mot de passe à J+3 avec envois de mail informatif.
Avant toutes choses, je tiens a remercier Laurent Dardenne et magma² (www.developpez.com)pour leur aide.
Pré-requis :
Le script et tous les fichiers annexes sont sur le serveur AD.
- Ficher dico.txt contenant un mot par ligne (dans mon exemple il y a 121 lignes).
- Fichier listusers.csv, contenant le nom d’utilisateur, son adresse mail et éventuellement des adresses mails complémentaires (chef d’équipes ou autre, histoire de les tenir informés).
- Le programme blat (http://www.blat.net/) installé et paramétré sur le serveur AD.
- Les fichiers mail1.txt et mail2.txt qui vont nous permettre d’envoyer un mail automatiquement avec le mot de passe de l’utilisateur ainsi que la date effective du remplacement.
Exemple de fichier dico.txt :
Code :
- abri
- amen
- anne
- avec
- azur
- base
- bete
- bise
- bleu
- bloc
- …
|
Exemple de fichier listusers.csv :
Code :
- totoMAG01;toto1@tototo.fr;Directeur1@toto.fr
- totoMAG02;toto2@tototo.fr;Directeur2@toto.fr
- totoMAG03;toto3@tototo.fr;Directeur3@toto.fr
- totoMAG04;toto4@tototo.fr;Directeur4@toto.fr
- tataMAG01;riri1@toto.fr,fifi1@toto.fr,loulou1@toto.fr;Directeur1@toto.fr
- tataMAG02;riri2@toto.fr,fifi2@toto.fr,loulou2@toto.fr;Directeur2@toto.fr
- tataMAG03;riri3@toto.fr,fifi3@toto.fr,loulou3@toto.fr;Directeur3@toto.fr
- tataMAG04;riri4@toto.fr,fifi4@toto.fr,loulou4@toto.fr;Directeur4@toto.fr
|
Exemple mail1.txt :
Code :
- Ceci est un mail automatique merci de ne pas y répondre.
|
Exemple mail2.txt :
Code :
- Cordialement .
- Le service Informatique.
|
1er script chgmt-pwd-ad.bat :
Code :
- @echo off
- REM ---------------------------------------------------------------------------
- REM DEFINTION DU MOT DE PASSE
- REM ---------------------------------------------------------------------------
- set /a haz1=%random%%%120+1
- set /a haz2=%random%%%120+1
- set /a chi=%random%%%10
- set LineNo1=%haz1%
- set LineNo2=%haz2%
- set "mot1="
- set "mot2="
- set /a LineNo1-=1
- set /a LineNo2-=1
- for /f "delims=" %%a in ('more/e +%LineNo1% ^< dico.txt') do (
- if not defined mot1 set "mot1=%%a"
- )
- for /f "delims=" %%b in ('more/e +%LineNo2% ^< dico.txt') do (
- if not defined mot2 set "mot2=%%b"
- )
- REM ---------------------------------------------------------------------------
- REM DEFINITION DE JOUR D'EXECUTION J+3
- REM ---------------------------------------------------------------------------
- @echo off
- set /a NJ=3
- set /a J=1%DATE:~0,2% - 100
- set /a M=1%DATE:~3,2% - 100
- set /a A=%DATE:~6,4%
- set /a JJ=%NJ% + ((1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075)
- set /a T0=%JJ% + 68569
- set /a T1=(4 * %T0%) / 146097
- set /a T0=%T0% - (146097 * %T1% + 3) / 4
- set /a T2=(4000 * (%T0% + 1)) / 1461001
- set /a T0=%T0% - (1461 * %T2%) / 4 + 31
- set /a T3=(80 * %T0%) / 2447
- set /a J=%T0% - (2447 * %T3%) / 80
- set /a M=%T3% + 2 - (12 * (%T3% / 11))
- set /a A=100 * (%T1% - 49) + %T2% + (%T3% / 11)
- if %J% LSS 10 set J=0%J%
- if %M% LSS 10 set M=0%M%
- echo.
- echo Dans 3 jours nous serons le %J%/%M%/%A%
- echo.
- REM ---------------------------------------------------------------------------
- REM GENERATION DU MAIL
- REM ---------------------------------------------------------------------------
- echo Traitement de %user%
- type mail1.txt > tmp/mailenv%user%.txt
- echo Votre mot de passe sera changé le %J%/%M%/%A% >> tmp/mailenv%user%.txt
- echo. >> tmp/mailenv%user%.txt
- echo Le nouveau mot de passe de %user% sera : %mot1%%chi%%mot2% >> tmp/mailenv%user%.txt
- type mail2.txt >> tmp/mailenv%user%.txt
- REM ---------------------------------------------------------------------------
- REM GENERATION LISTE DE MOT DE PASSE
- REM ---------------------------------------------------------------------------
- echo Utilisateur %user% Mot de passe %mot1%%chi%%mot2% >> list-password.txt
- REM ---------------------------------------------------------------------------
- REM GENERATION ENVOIS DES MAILS
- REM ---------------------------------------------------------------------------
- echo blat tmp\mailenv%user%.txt -t %destinataire% -c %copiecarbone% -s "Changement de mot de passe" >> envoi-mail-prev.cmd
- REM ---------------------------------------------------------------------------
- REM GENERATION SCRIPT CHANGEMENT MOT DE PASSE
- REM ---------------------------------------------------------------------------
- echo NET USER %user% %mot1%%chi%%mot2% /DOMAIN >> modif-password-ad.cmd
|
2éme script L_chgmt-pwd-ad.bat :
Code :
- REM ---------------------------------------------------------------------------
- REM INITIALISATION DES SCRIPTS A LANCER
- REM ---------------------------------------------------------------------------
- @echo off > envoi-mail-prev.cmd
- @echo off > modif-password-ad.cmd
- echo ---------------------------------------------------------------------------
- echo ---------------------------------------------------------------------------
- echo %date% %time%
- echo ---------------------------------------------------------------------------
- echo ---------------------------------------------------------------------------
- REM ---------------------------------------------------------------------------
- REM MAJ DU FICHIER DE MOT DE PASSE POUR LES EQUIPES SUPPORT
- REM ---------------------------------------------------------------------------
- @echo blat list-password.txt -t admtech@domain.com -s "Liste des nouveaux mots de passe utilisateurs (dans 3 jours)" > envoi-list-admtech.cmd
- del list-password.txt
- del tmp\mailenv*.txt
- REM ---------------------------------------------------------------------------
- REM TRAITEMENT POUR CHAQUE UTILISATEUR DEFINI DANS LE FICHIER CSV
- REM ---------------------------------------------------------------------------
- for /F "tokens=1-3 delims=;" %%i in (listusers.csv) do (
- set user=%%i
- set destinataire=%%j
- set copiecarbone=%%k
- )& call chgmt-pwd-ad.bat
- @echo on
- REM ---------------------------------------------------------------------------
- REM PLANIFICATION DU SCRIPT DE CHANGEMENT DE MOT DE PASSE DANS 3 JOURS
- REM ---------------------------------------------------------------------------
- schtasks /delete /tn modif-password-ad /F
- schtasks /create /tn modif-password-ad /tr %cd%\modif-password-ad.cmd /sc once /sd %J%/%M%/%A% /st 00:01:00 /ru DOMAIN\administrateur /rp password
- REM ---------------------------------------------------------------------------
- REM ENVOI DU MAIL A CHAQUE UTILISATEUR POUR LUI DONNER SON NOUVEAU MPD
- REM ---------------------------------------------------------------------------
- call envoi-mail-prev.cmd
- type envoi-mail-prev.cmd
- del envoi-mail-prev.cmd
- REM ---------------------------------------------------------------------------
- REM ENVOI DU FICHIER DE MOT DE PASSE AUX EQUIPES SUPPORT
- REM ---------------------------------------------------------------------------
- call envoi-list-admtech.cmd
- type envoi-list-admtech.cmd
- del envoi-list-admtech.cmd
|
Message édité par dob2806 le 09-10-2008 à 16:34:13