Ce script prend un fichier CSV en entrée comprenant des noms de comptes AD afin de vérifier pour chacun s’il existe vraiment grâce à dsquery et réalise un export CSV de la liste générée.
$userlist = Import-CSV userlist.csv
$i = 0
$userexport = @()
foreach($user in $userlist){
if ((dsquery user -samid $user.Name) -eq $null) {
$user.name
$i++
$name=@{Name = $user.name}
$export = New-Object PSObject -Property $name
$userexport+=$export
}
}
Write-Host "Number of accounts not present in AD"$i" out of"($userlist.length)
$userexport | Export-CSV user-noexist.csv -NoTypeInformation
Pourquoi dsquery et non pas Get-AdUser ? Car ce dernier renvoie un message d’erreur si l’utilisateur n’existe pas et que le but du script est simplement de lister les users qui ne sont pas présents dans l’AD.
A noter qu’en fonction du titre de la « colonne » comportant les noms dans le fichier CSV, il sera nécessaire de modifier la requête -samid $user.Name en –samid $user.NomColonne.
de très bon script simple et précis, je vais souvent sur ce site.