Bonjour à tous,
Pour simplifier le gestion de notre AD, j'ai utilisé un script, trouvé sur un site, pour réinitialiser les mots de passe de mes utilisateurs par défaut. Je souhaiterais ajouter qu'il faut que l'utilisateur change son mot de passe à l'ouverture de session mais je ne trouve pas la commande adéquate.
Merci de votre aide.
Script en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 #### #### Modules #### # Module PowerShell Active Directory requis Import-Module ActiveDirectory #### #### Variables #### # Controleur de domaine cible pour faire la MAJ $Server = "DC01" # Chemin vers le fichier CSV $fichier = "D:\Scriptq\Stagiaires\Users_Password.csv" # Importer le fichier CSV $users = Import-Csv -Path $fichier -Delimiter ";" -Encoding UTF8 # Fichier de logs nommé à la date et l'heure de l'exécution du script $DateHeure = Get-Date -Format "yyyyMMddHHmm" $log = "C:\Logs\Stagiaires\Modification_Password_Stagiaires_$DateHeure.log" #### #### 1 - Récupération des données dans le CSV #### # Pour chaque ligne du CSV... (Pour chaque utilisateur) foreach($user in $users){ # Récupère le SamAccountName de l'utilisateur $UserSAM = $user.SamAccountName # Récupérer le mot de passe de l'utilisateur $UserPwd = $user.Password #### #### 2 - Modifier le mot de passe de chaque utilisateur dans l'AD #### # Try-Catch permet d'exécuter une action et si elle échoue d'en faire une autre, dans ce cas précis on met à jour le mot de passe # et si ça échoue alors on écrit une ligne de log try{ Set-ADAccountPassword -Server $Server -Identity $UserSAM -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $UserPwd -Force) Add-Content -Path "$log" -Value "Le mot de passe de l'utilisateur $UserLogin est désormais à jour !" }catch{ Add-Content -Path "$log" -Value "ERREUR ! Impossible de mettre à jour le mot de passe pour l'utilisateur $UserLogin !" } }
Partager