Pour collecter des comptes d’ordinateur périmés dans Active Directory, vous pouvez utiliser le cmdlet Get-ADComputer PowerShell. Comme son nom l’indique, Get-ADComputer ne cible que les comptes d’ordinateur. Get-ADComputer ne fournit aucun paramètre permettant de collecter spécifiquement les comptes d’ordinateur périmés, mais il comporte un commutateur « -Filter » qui permet de spécifier un critère.
Pour identifier les comptes inactifs, ciblez ceux qui ne se sont pas connectés à Active Directory au cours des 90 jours précédents. Pour cela, ciblez la propriété LastLogonTimeStamp puis spécifiez une condition temporelle, comme indiqué dans les commandes PowerShell suivantes :
$DaysInactive = 90 $time = (Get-Date).Adddays(-($DaysInactive)) Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -ResultPageSize 2000 -resultSetSize $null -Properties Name, OperatingSystem, SamAccountName, DistinguishedName
Comme vous pouvez le constater, la variable $Time contient une date valide et la commande PowerShell suivante est exécutée avec un filtre configuré pour rechercher uniquement les comptes d’ordinateur pour lesquels LastLogonTimeStamp n’a pas été mis à jour dans les 90 jours précédents. Pour rechercher des comptes d’ordinateur inactifs depuis plus de 90 jours, il vous suffit de modifier la valeur de la variable $DaysInActive. La valeur courante est fixée à 90 jours, mais vous pouvez spécifier votre propre valeur. Pour exporter le résultat dans un fichier CSV, ajoutez le cmdlet PowerShell Export-CSV comme indiqué dans la commande suivante :
Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -ResultPageSize 2000 -resultSetSize $null -Properties Name, OperatingSystem, SamAccountName, DistinguishedName | Export-CSV “C:\Temp\StaleComps.CSV” –NoTypeInformation
Avez-vous besoin d’autres scripts PowerShell pour Active Directory ? Toutes les commandes PowerShell pour Active Directory les plus recherchées sont rassemblées dans un billet de blog.