Question
Script pour lister utilisateur AD
- morgan
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 8 ans 9 mois #23737
par morgan
Script pour lister utilisateur AD a été créé par morgan
Bonjour,
J'ai besoin d'un script qui me permet lister les utilisateurs dont le nom contient \"stagiaire\" et il faut qu'ils ne soient jamais connectés à l'Active Directory.
J'ai déjà écrit un bout de code :
[code:1][datetime]$date = '01/01/1601'
Get-ADUser -Filter 'SamAccountName -like \"*stagiaire*\"' | Where-Object {$_.lastlogontimestamp -eq $date} | Select-Object name, lastlogontimestamp[/code:1]
Mais il ne me sort rien.
J'ai besoin d'éclaircissement, merci d'avance.
Morgan.<br><br>Message édité par: BlackAbba, à: 9/06/17 15:33
J'ai besoin d'un script qui me permet lister les utilisateurs dont le nom contient \"stagiaire\" et il faut qu'ils ne soient jamais connectés à l'Active Directory.
J'ai déjà écrit un bout de code :
[code:1][datetime]$date = '01/01/1601'
Get-ADUser -Filter 'SamAccountName -like \"*stagiaire*\"' | Where-Object {$_.lastlogontimestamp -eq $date} | Select-Object name, lastlogontimestamp[/code:1]
Mais il ne me sort rien.
J'ai besoin d'éclaircissement, merci d'avance.
Morgan.<br><br>Message édité par: BlackAbba, à: 9/06/17 15:33
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 9 mois #23738
par Philippe
Réponse de Philippe sur le sujet Re:Script pour lister utilisateur AD
salut BlackAbba

Sérieux, tu a au moins deux problèmes :
1) la cmdlet ne renvoie pas tous les attribues de l'AD par défaut !
il faut donc lui précisé la ou les propriétés supplémentaires a extraire
[code:1]Get-ADUser ... -Properties lastlogontimestamp [/code:1]
2) le format de l'attribue lastlogontimestamp n'est pas un format date mais est un entier qui définit le nombre de 100 nano secondes depuis le 1/01/1601.
tu ne peut pas faire la comparaison comme tu la fais !
en plus quand un utilisateur ne c'est jamais connecté au domaine l'attribut reste vide
mais tu peut donc faire un where tout simple du coup
[code:1]Get-ADUser ... -Properties lastlogontimestamp | Where-Object {-not $_.lastlogontimestamp}
[/code:1]
3) sur ce point c'est a toi de voir mais le SamAccountName c'est le login, on utilise rarement de long nom pour un login. Regarde plutôt l'attribue Name
Bon, avec ça, tu devrait t'en sortir !!!
.
Je crois que tu n'a pas de chance !!!!Mais il ne me sort rien.
Sérieux, tu a au moins deux problèmes :
1) la cmdlet ne renvoie pas tous les attribues de l'AD par défaut !
il faut donc lui précisé la ou les propriétés supplémentaires a extraire
[code:1]Get-ADUser ... -Properties lastlogontimestamp [/code:1]
2) le format de l'attribue lastlogontimestamp n'est pas un format date mais est un entier qui définit le nombre de 100 nano secondes depuis le 1/01/1601.
tu ne peut pas faire la comparaison comme tu la fais !
en plus quand un utilisateur ne c'est jamais connecté au domaine l'attribut reste vide
mais tu peut donc faire un where tout simple du coup
[code:1]Get-ADUser ... -Properties lastlogontimestamp | Where-Object {-not $_.lastlogontimestamp}
[/code:1]
3) sur ce point c'est a toi de voir mais le SamAccountName c'est le login, on utilise rarement de long nom pour un login. Regarde plutôt l'attribue Name
Bon, avec ça, tu devrait t'en sortir !!!
.
Connexion ou Créer un compte pour participer à la conversation.
- morgan
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 8 ans 9 mois #23747
par morgan
Réponse de morgan sur le sujet Re:Script pour lister utilisateur AD
Salut,
D'abord merci pour ton aide,
Après plusieurs test, j'en suis arrivé à ça :
[code:1]$365_j = (Get-Date).adddays(-365)
Get-ADUser -filter {(lastlogontimestamp -le $365_j -and SamAccountName -like \"*stagiaire*\"«»)} -SearchBase \"DC=toto,DC=test\" -Properties MemberOf | Select name, lastlogontimestamp, SamAccountName[/code:1]
Maintenant tout fonctionne et j'ai bien la liste des mes utilisateurs qui ne se sont pas connecté à l'AD depuis un an et dont le nom/login contient 'stagiaire'
Merci encore,
Morgan.
D'abord merci pour ton aide,
Après plusieurs test, j'en suis arrivé à ça :
[code:1]$365_j = (Get-Date).adddays(-365)
Get-ADUser -filter {(lastlogontimestamp -le $365_j -and SamAccountName -like \"*stagiaire*\"«»)} -SearchBase \"DC=toto,DC=test\" -Properties MemberOf | Select name, lastlogontimestamp, SamAccountName[/code:1]
Maintenant tout fonctionne et j'ai bien la liste des mes utilisateurs qui ne se sont pas connecté à l'AD depuis un an et dont le nom/login contient 'stagiaire'
Merci encore,
Morgan.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.039 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Script pour lister utilisateur AD