Powershell : liste des serveurs sur lesquels un user est connecté

J’ai eu un incident concernant un lock de compte AD récurrent sur diverses stations. Afin de pouvoir déterminer sur quels serveurs était connecté ce login, j’ai développé un script Powershell qui parcourt un fichier CSV contenant une liste de serveurs (facilement générable à partir de l’ActiveDirectory).

Le script utilise l’application CLI win32 quser et prend en paramètre un nom de login d’utilisateur.

param([Parameter(Mandatory=$true)][string]$Login)
$serverlist = Import-CSV server-list.csv
foreach($server in $serverlist) {
	$qo = quser /server:$($server.Name) 2>$null
	if($qo -ne $null){
		$qo | foreach {
			if($_.Contains($Login)){
				Write-Host "Logged in on $($server.name)" -ForegroundColor "Green"
			}
		}
	}
}