"dav8669" a écrit dans le
message de
news:
| Bonjour,
Bonjour,
| Je cherche à générer pour chaque utilisateur un mot de
passe
| aléatoire pour une première connection ultérieure puis
de l'exporter
| dans un fichier csv.
| Je ne sais pas trop comment faire.
| Merci pour votre aider
Le script ci-dessous permet de générer dix mots de passe de huit
caractères puis d'exporter ces mots de passe au format csv dans le
fichier password.csv du répertoire courant. La boucle 1..10 est
donnée
ici à titre d'exemple. Il sera en effet nécessaire de parcourir
l'annuaire Active Directory à la recherche des utilisateurs puis de
réinitialiser le mot de passe via la méthode SetPassword.
--- CodeSnippet.ps1 ---
[Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
$list=@(); foreach ($user in 1..10) {
$list+=[System.Web.Security.Membership]::GeneratePassword(8,0) |
select `
@{name='user';expression={$user}},
@{name='pwd';expression={$_}}|
}
$list|export-csv -force -notype sample.csv
--- CodeSnippet.ps1 ---
Note: Le mot de passe devra être transmis à l'utilisateur ;-)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" a écrit dans le
message de
news:
| Bonjour,
Bonjour,
| Je cherche à générer pour chaque utilisateur un mot de
passe
| aléatoire pour une première connection ultérieure puis
de l'exporter
| dans un fichier csv.
| Je ne sais pas trop comment faire.
| Merci pour votre aider
Le script ci-dessous permet de générer dix mots de passe de huit
caractères puis d'exporter ces mots de passe au format csv dans le
fichier password.csv du répertoire courant. La boucle 1..10 est
donnée
ici à titre d'exemple. Il sera en effet nécessaire de parcourir
l'annuaire Active Directory à la recherche des utilisateurs puis de
réinitialiser le mot de passe via la méthode SetPassword.
--- CodeSnippet.ps1 ---
[Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
$list=@(); foreach ($user in 1..10) {
$list+=[System.Web.Security.Membership]::GeneratePassword(8,0) |
select `
@{name='user';expression={$user}},
@{name='pwd';expression={$_}}|
}
$list|export-csv -force -notype sample.csv
--- CodeSnippet.ps1 ---
Note: Le mot de passe devra être transmis à l'utilisateur ;-)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" a écrit dans le
message de
news:
| Bonjour,
Bonjour,
| Je cherche à générer pour chaque utilisateur un mot de
passe
| aléatoire pour une première connection ultérieure puis
de l'exporter
| dans un fichier csv.
| Je ne sais pas trop comment faire.
| Merci pour votre aider
Le script ci-dessous permet de générer dix mots de passe de huit
caractères puis d'exporter ces mots de passe au format csv dans le
fichier password.csv du répertoire courant. La boucle 1..10 est
donnée
ici à titre d'exemple. Il sera en effet nécessaire de parcourir
l'annuaire Active Directory à la recherche des utilisateurs puis de
réinitialiser le mot de passe via la méthode SetPassword.
--- CodeSnippet.ps1 ---
[Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
$list=@(); foreach ($user in 1..10) {
$list+=[System.Web.Security.Membership]::GeneratePassword(8,0) |
select `
@{name='user';expression={$user}},
@{name='pwd';expression={$_}}|
}
$list|export-csv -force -notype sample.csv
--- CodeSnippet.ps1 ---
Note: Le mot de passe devra être transmis à l'utilisateur ;-)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" a écrit dans le
message de
news:
| Bonjour,
Bonjour,
| Peux tu m'expliquer ce que fait la ligne suivante que je ne
| comprends pas.
| [Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
| et la méthode LoadWithPartialName qui Charge un assembly à
partir du
| répertoire de l'application ou du Global Assembly Cache en utilisant
| un nom partiel. Qu'est ce qu'un assembly ?
| Merci
Du point de vue d'un scripter PowerShell, une assembly peut être
considérée comme une librairie .NET. Une fois chargée,
celle-ci expose
des objets qui pourront être manipulés via ses méthodes et
ses
propriétés. Pour reprendre l'exemple ci-dessus, le fait de
charger
l'assembly "System.Web" permet d'accéder à l'objet
"System.Web.Security.Membership" et de ce fait à sa
méthode
"GeneratePassword". Le chargement de cette assembly est ici
réalisé
grace à la méthode "LoadWithPartialName". Cette
méthode permet de
charger l'assembly en utilisant son nom court (donc sans spécifier des
critères tels que version minimale, culture supportée, ...).
C'est
pourquoi cette méthode est maintenant obsolète (deprecated) et
remplacée
par les méthodes "Load" et "LoadFrom" qui elles,
nécessitent des
critères de chargement.
En espérant avoir répondu à vos interrogations. Si cela
n'est pas clair
alors n'hésitez pas à revenir vers nous.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" a écrit dans le
message de
news:
| Bonjour,
Bonjour,
| Peux tu m'expliquer ce que fait la ligne suivante que je ne
| comprends pas.
| [Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
| et la méthode LoadWithPartialName qui Charge un assembly à
partir du
| répertoire de l'application ou du Global Assembly Cache en utilisant
| un nom partiel. Qu'est ce qu'un assembly ?
| Merci
Du point de vue d'un scripter PowerShell, une assembly peut être
considérée comme une librairie .NET. Une fois chargée,
celle-ci expose
des objets qui pourront être manipulés via ses méthodes et
ses
propriétés. Pour reprendre l'exemple ci-dessus, le fait de
charger
l'assembly "System.Web" permet d'accéder à l'objet
"System.Web.Security.Membership" et de ce fait à sa
méthode
"GeneratePassword". Le chargement de cette assembly est ici
réalisé
grace à la méthode "LoadWithPartialName". Cette
méthode permet de
charger l'assembly en utilisant son nom court (donc sans spécifier des
critères tels que version minimale, culture supportée, ...).
C'est
pourquoi cette méthode est maintenant obsolète (deprecated) et
remplacée
par les méthodes "Load" et "LoadFrom" qui elles,
nécessitent des
critères de chargement.
En espérant avoir répondu à vos interrogations. Si cela
n'est pas clair
alors n'hésitez pas à revenir vers nous.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" a écrit dans le
message de
news:
| Bonjour,
Bonjour,
| Peux tu m'expliquer ce que fait la ligne suivante que je ne
| comprends pas.
| [Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
| et la méthode LoadWithPartialName qui Charge un assembly à
partir du
| répertoire de l'application ou du Global Assembly Cache en utilisant
| un nom partiel. Qu'est ce qu'un assembly ?
| Merci
Du point de vue d'un scripter PowerShell, une assembly peut être
considérée comme une librairie .NET. Une fois chargée,
celle-ci expose
des objets qui pourront être manipulés via ses méthodes et
ses
propriétés. Pour reprendre l'exemple ci-dessus, le fait de
charger
l'assembly "System.Web" permet d'accéder à l'objet
"System.Web.Security.Membership" et de ce fait à sa
méthode
"GeneratePassword". Le chargement de cette assembly est ici
réalisé
grace à la méthode "LoadWithPartialName". Cette
méthode permet de
charger l'assembly en utilisant son nom court (donc sans spécifier des
critères tels que version minimale, culture supportée, ...).
C'est
pourquoi cette méthode est maintenant obsolète (deprecated) et
remplacée
par les méthodes "Load" et "LoadFrom" qui elles,
nécessitent des
critères de chargement.
En espérant avoir répondu à vos interrogations. Si cela
n'est pas clair
alors n'hésitez pas à revenir vers nous.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour,
Je cherche à fusionner ton script avec celui ci pour insérer l'attribution
aléatoire d'un mot de passe à chaque utilisateur. Merci
Bonjour,
Je cherche à fusionner ton script avec celui ci pour insérer l'attribution
aléatoire d'un mot de passe à chaque utilisateur. Merci
Bonjour,
Je cherche à fusionner ton script avec celui ci pour insérer l'attribution
aléatoire d'un mot de passe à chaque utilisateur. Merci
"dav8669" wrote:Bonjour,
Bonjour,Je cherche à fusionner ton script avec celui ci pour insérer
l'attribution
aléatoire d'un mot de passe à chaque utilisateur. Merci
[...]
Le script ci-dessous recherche tout d'abord les utilisateurs présents
dans
l'annuaire Active Directory, génère un mot de passe
aléatoire pour chaque
utilisateur puis sauvegarde le couple (dn, password) dans un fichier au
format CSV. Ensuite, le mot de passe de chaque utilisateur est
réinitialisé.
Note: La commande de réinitialisation du mot de passe est inactive (#)
--- CodeSnippet.ps1 ---
[Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
$ldapQuery="(&(objectCategory=person)(objectClass=user))"
$de=[ADSI]"LDAP://*/ou*,ou=*,dc=*,dc=*"
$ads=new-object system.directoryservices.directorysearcher `
-argumentlist $de,$ldapQuery
$complist = $ads.findall()
$list=@(); foreach ($user in $complist) {
$list+=[System.Web.Security.Membership]::GeneratePassword(8,0) |
select `
@{n='dn';e={$user.properties.distinguishedname}},
@{n='pwd';e={$_}}
}
$list|export-csv -force -notype -delimiter ';' sample.csv
foreach ($user in $list) {
"Processing $($user.dn) ..."
$aduser=[ADSI]"LDAP://$($user.dn)"
#$aduser.SetPassword($user.pwd)
}
--- CodeSnippet.ps1 ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" wrote:
Bonjour,
Bonjour,
Je cherche à fusionner ton script avec celui ci pour insérer
l'attribution
aléatoire d'un mot de passe à chaque utilisateur. Merci
[...]
Le script ci-dessous recherche tout d'abord les utilisateurs présents
dans
l'annuaire Active Directory, génère un mot de passe
aléatoire pour chaque
utilisateur puis sauvegarde le couple (dn, password) dans un fichier au
format CSV. Ensuite, le mot de passe de chaque utilisateur est
réinitialisé.
Note: La commande de réinitialisation du mot de passe est inactive (#)
--- CodeSnippet.ps1 ---
[Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
$ldapQuery="(&(objectCategory=person)(objectClass=user))"
$de=[ADSI]"LDAP://*/ou*,ou=*,dc=*,dc=*"
$ads=new-object system.directoryservices.directorysearcher `
-argumentlist $de,$ldapQuery
$complist = $ads.findall()
$list=@(); foreach ($user in $complist) {
$list+=[System.Web.Security.Membership]::GeneratePassword(8,0) |
select `
@{n='dn';e={$user.properties.distinguishedname}},
@{n='pwd';e={$_}}
}
$list|export-csv -force -notype -delimiter ';' sample.csv
foreach ($user in $list) {
"Processing $($user.dn) ..."
$aduser=[ADSI]"LDAP://$($user.dn)"
#$aduser.SetPassword($user.pwd)
}
--- CodeSnippet.ps1 ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"dav8669" wrote:Bonjour,
Bonjour,Je cherche à fusionner ton script avec celui ci pour insérer
l'attribution
aléatoire d'un mot de passe à chaque utilisateur. Merci
[...]
Le script ci-dessous recherche tout d'abord les utilisateurs présents
dans
l'annuaire Active Directory, génère un mot de passe
aléatoire pour chaque
utilisateur puis sauvegarde le couple (dn, password) dans un fichier au
format CSV. Ensuite, le mot de passe de chaque utilisateur est
réinitialisé.
Note: La commande de réinitialisation du mot de passe est inactive (#)
--- CodeSnippet.ps1 ---
[Reflection.Assembly]::LoadWithPartialName("System.Web")>$null
$ldapQuery="(&(objectCategory=person)(objectClass=user))"
$de=[ADSI]"LDAP://*/ou*,ou=*,dc=*,dc=*"
$ads=new-object system.directoryservices.directorysearcher `
-argumentlist $de,$ldapQuery
$complist = $ads.findall()
$list=@(); foreach ($user in $complist) {
$list+=[System.Web.Security.Membership]::GeneratePassword(8,0) |
select `
@{n='dn';e={$user.properties.distinguishedname}},
@{n='pwd';e={$_}}
}
$list|export-csv -force -notype -delimiter ';' sample.csv
foreach ($user in $list) {
"Processing $($user.dn) ..."
$aduser=[ADSI]"LDAP://$($user.dn)"
#$aduser.SetPassword($user.pwd)
}
--- CodeSnippet.ps1 ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Merci tout fonctionne !
En revanchance j'ai un problème au niveau de la récupération des caractères
spéciaux accentués é,è,ç,ï... Ces caractères sont récupérés et remplacés par un
"?". Comment faire pour les conserver?
Merci tout fonctionne !
En revanchance j'ai un problème au niveau de la récupération des caractères
spéciaux accentués é,è,ç,ï... Ces caractères sont récupérés et remplacés par un
"?". Comment faire pour les conserver?
Merci tout fonctionne !
En revanchance j'ai un problème au niveau de la récupération des caractères
spéciaux accentués é,è,ç,ï... Ces caractères sont récupérés et remplacés par un
"?". Comment faire pour les conserver?
Oops !
export-csv -encoding 'default'
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Oops !
export-csv -encoding 'default'
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Oops !
export-csv -encoding 'default'
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Gilles LAURENT [MVP] a écrit le 02/03/2009 à 16h12 :Oops !
export-csv -encoding 'default'
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour,
Et si je veux récupérer d'autres informationns comme le
displayname, le givenname ou le sn.
A quel endroit du script l'insérer ?
Merci
Gilles LAURENT [MVP] a écrit le 02/03/2009 à 16h12 :
Oops !
export-csv -encoding 'default'
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour,
Et si je veux récupérer d'autres informationns comme le
displayname, le givenname ou le sn.
A quel endroit du script l'insérer ?
Merci
Gilles LAURENT [MVP] a écrit le 02/03/2009 à 16h12 :Oops !
export-csv -encoding 'default'
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour,
Et si je veux récupérer d'autres informationns comme le
displayname, le givenname ou le sn.
A quel endroit du script l'insérer ?
Merci