Précédent   Forum du club des développeurs et IT Pro > Systèmes > Windows > Vos contributions
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/09/2010, 16h03   #1
geriler
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 75
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 75
Points : 26
Points : 26
Par défaut Script de réintiailsation de Mot de Passe

Bonjour,

J'ai réalise un petit script en powershell, en entrant le prénom et le nom de la personne, on peut réinitialiser son MDP, et lui envoyer par mail dans la foulée.

Code :
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
[void][system.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')
[void][reflection.assembly]::loadwithpartialname('System.drawing')
$domaine = [ADSI]'LDAP://CN='
$domaine2 = ',ou= VOTRE OU,dc=Votre domaine,dc=Votre domaine,dc=local'

#Création du form principale
$form = New-Object Windows.Forms.Form
#Affichage d'un titre
$Form.Text = 'Reinitialisation du MDP'
#dimension du Form
$Form.size = New-Object System.Drawing.Size @(350,250)

#Création d'un bouton quitter à cliquer
$Bouton_quitter = New-Object System.Windows.Forms.Button
$Bouton_quitter.Text = 'Quitter'
#Position du bouton
$Bouton_quitter.Location = New-Object System.Drawing.Size(150,170)
#Ajustement de la taille
$Bouton_quitter.Size = New-Object System.Drawing.Size(80,30)

#Création d'un bouton reset de mdp à cliquer
$Bouton_reset = New-Object System.Windows.Forms.Button
$Bouton_reset.Text = 'Reset le MDP'
$Bouton_reset.Location = New-Object System.Drawing.Size(50,170)
$Bouton_reset.Size = New-Object System.Drawing.Size(80,30)

#Ajout d'un label
$Label_prenom = New-Object System.Windows.forms.Label
#$Label_but.AutoSize = $true
$Label_prenom.Location = New-Object System.Drawing.Point(50,20)
$Label_prenom.Name = 'Label_but'
$Label_prenom.Size = New-Object System.Drawing.Size(140,30)
$Label_prenom.Tabindex = 5
$Label_prenom.Text = 'Veuillez entrez le Prénom'

#Ajout d'un label
$Label_nom = New-Object System.Windows.forms.Label
#$Label_but.AutoSize = $true
$Label_nom.Location = New-Object System.Drawing.Point(50,100)
$Label_nom.Name = 'Label_but'
$Label_nom.Size = New-Object System.Drawing.Size(140,30)
$Label_nom.Tabindex = 5
$Label_nom.Text = 'Veuillez entrez le Nom'

#Ajout d'une textbox
$Textbox_prenom = New-Object System.Windows.Forms.Textbox
$Textbox_prenom.Location = New-Object System.Drawing.Point(70,60)
$Textbox_prenom.Multiline = $true
$Textbox_prenom.Name = 'Textbox_prenom'
$Textbox_prenom.Size = New-Object System.Drawing.Size(130, 30)
$Textbox_prenom.TabIndex = 2

#Ajout d'une textbox
$Textbox_nom = New-Object System.Windows.Forms.Textbox
$Textbox_nom.Location = New-Object System.Drawing.Point(70,130)
$Textbox_nom.Multiline = $true
$Textbox_nom.Name = 'Textbox_nom'
$Textbox_nom.Size = New-Object System.Drawing.Size(130, 30)
$Textbox_nom.TabIndex = 3

#Ajout de l'évenement 'clic gauche' au bouton_quitter
$Bouton_quitter.Add_Click(
{
$Form.close()
})

#Ajout de l'évenement 'clic gauche' au bouton_reset $domaine + $Login + $domaine2'
$Bouton_reset.Add_Click(
{
#Set up random number generator
$rand = New-Object System.Random
#Generate a new 10 character password
1..3 | ForEach { $NewPassword = $NewPassword + [char]$rand.next(33,64) }
1..3 | ForEach { $NewPassword = $NewPassword + [char]$rand.next(64,90) }
1..3 | ForEach { $NewPassword = $NewPassword + [char]$rand.next(97,122) }
1..2 | ForEach { $NewPassword = $NewPassword + [char]$rand.next(48,57) }

#write-host "le mdp est $NewPassword"

[string]$Login_prenom = $Textbox_prenom.get_text()
[string]$Login_nom = $Textbox_nom.get_text()
$Login = $Login_prenom + " " + $Login_nom
$login_complet=[ADSI] "LDAP://CN=$Login ,OU=Votre OU,DC=VOtre domaine,DC=VOtre domaine,DC=local"
$Login_complet.SetPassword("$NewPassword")
$Login_complet.pwdlastset = 0
$Login_complet.SetInfo()


$login_complet2=[ADSI] "LDAP://CN=$login,OU=Votre OU,DC=Votre domaine,DC=Votre domaine,DC=local"
$expediteur = "adresse_mail@expediteur"
$destinataire = $login_complet2.mail
$serveur = "Serveur.mail"
$objet = "CONFIDENTIEL - Réintialisation de votre MDP "
$texte = "Bonjour,`n`n Vous trouverez ci-dessous les informations relative à la réinitialisation de votre mot de passe. `n`n Votre nouveau Mot De Passe est : $NewPassword"
$message = new-object System.Net.Mail.MailMessage
$message.body = "$texte"
$message.from = $expediteur
$message.subject = $objet
$message.to.add("$destinataire")
$message.bcc.add('Une adresse mail en copie (celle de ladmin par exemple)')
$SMTPclient = new-object System.Net.Mail.SmtpClient
$SMTPclient.set_host($serveur)
$SMTPAuthUsername = "adresse_mail@expediteur ou username"
$SMTPAuthPassword = "MDP"
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword)
$SMTPclient.Send($message)
$Popup_confirm = New-Object -ComObject wscript.shell
$Popupconfirm = $Popup_confirm.popup( "Le Mot de passe pour $Login à été réinitialisé. `nVoulez-vous en créer un autre?", 0 , "Réinitialisation de Mot de Passe", 1)
if ( $Popupconfirm -ne 1){
$Form.close()
}
})


#Ajout du bouton dans le Form
$Form.controls.Add($Label_prenom)
$Form.controls.Add($Label_nom)
$Form.controls.Add($Textbox_prenom)
$Form.controls.Add($Textbox_nom)
$Form.controls.Add($Bouton_reset)
$Form.controls.Add($Bouton_quitter)
$Form.Showdialog()
Pour une fois que je peux, ca me fait plaisir de fournir ce script, en esperant qu'il sera utile à certaines personnes.

Geriler
geriler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h57.


 
 
 
 
Partenaires

Hébergement Web