Powershell : vérification de masse d’existence de comptes AD

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.

Lien pour marque-pages : Permaliens.

Un Commentaire

  1. de très bon script simple et précis, je vais souvent sur ce site.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.