Question Script listant les utilisateurs inactifs d'un DC
- theduc
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 11 ans 8 mois #17744
par theduc
Script listant les utilisateurs inactifs d'un DC a été créé par theduc
Bonjour,
je cherche a faire un script qui permettrait de lister les utilisateurs inactifs de mon domain controller et qui me permettrait, en me basant sur le nom du compte, d'effectuer une recherche dans une grosse arborescence et qu'il me ressorte les folders correspondant au nom de comptes.
Voila ce que j'ai déja fait.
Import-Module ActiveDirectory
$then = (Get-Date).AddDays(-180) # The 180 is the number of days from today since the last logon.
$NomUtilisateur = Get-ADUser -Property SamAccountName -Filter {lastLogonDate -lt $then} | FT SamAccountName
$NomUtilisateur | Out-File c:\temp.csv
Get-Content c:\temp.csv | Where { $_.Replace(\",\",\"\") -ne \"\" } | Out-File c:\User.csv
Remove-Item C:\temp.csv -force
$lines = import-csv C:\User.csv
foreach ($test in $lines){
get-childitem -recurse \\****\Users | where {$_.Attributes -eq 'Directory'} | where { $_.Name -like \"$test.SamAccountName\"} | foreach {$_.Get_FullName()}
}
Ce qui est bizarre est que lorsque je tape la commande get-childitem -recurse \\****\Users | where {$_.Attributes -eq 'Directory'} | where { $_.Name -like \"nom d'un dossier en direct\"} | foreach {$_.Get_FullName()}, la commande s’exécute normalement mais lorsque la commande tape sur le csv, cela ne fonctionne pas.
Merci d'avance pour votre aide
Yoann
je cherche a faire un script qui permettrait de lister les utilisateurs inactifs de mon domain controller et qui me permettrait, en me basant sur le nom du compte, d'effectuer une recherche dans une grosse arborescence et qu'il me ressorte les folders correspondant au nom de comptes.
Voila ce que j'ai déja fait.
Import-Module ActiveDirectory
$then = (Get-Date).AddDays(-180) # The 180 is the number of days from today since the last logon.
$NomUtilisateur = Get-ADUser -Property SamAccountName -Filter {lastLogonDate -lt $then} | FT SamAccountName
$NomUtilisateur | Out-File c:\temp.csv
Get-Content c:\temp.csv | Where { $_.Replace(\",\",\"\") -ne \"\" } | Out-File c:\User.csv
Remove-Item C:\temp.csv -force
$lines = import-csv C:\User.csv
foreach ($test in $lines){
get-childitem -recurse \\****\Users | where {$_.Attributes -eq 'Directory'} | where { $_.Name -like \"$test.SamAccountName\"} | foreach {$_.Get_FullName()}
}
Ce qui est bizarre est que lorsque je tape la commande get-childitem -recurse \\****\Users | where {$_.Attributes -eq 'Directory'} | where { $_.Name -like \"nom d'un dossier en direct\"} | foreach {$_.Get_FullName()}, la commande s’exécute normalement mais lorsque la commande tape sur le csv, cela ne fonctionne pas.
Merci d'avance pour votre aide
Yoann
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 8 mois #17762
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Script listant les utilisateurs inactifs d'un DC
Salut,
la substitution de variable est à corriger :
[code:1]
$test=1|Select SamAccountName
$test.SamAccountName='laurent'
\"$test.SamAccountName\"
#@{SamAccountName=laurent}.SamAccountName
\"$($test.SamAccountName)\"
#laurent
[/code:1]
la substitution de variable est à corriger :
[code:1]
$test=1|Select SamAccountName
$test.SamAccountName='laurent'
\"$test.SamAccountName\"
#@{SamAccountName=laurent}.SamAccountName
\"$($test.SamAccountName)\"
#laurent
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.044 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Script listant les utilisateurs inactifs d'un DC