powershell.png Je vais vous présenter plusieurs script permettant de lister dans un fichier CSV les utilisateurs présent dans l'Active Directory n'ayant fait aucune demande d'authentification depuis X jours. Très pratique pour désactiver les utilisateurs n’étant plus présent dans une société par exemple.
Pour ce faire, il faut installer "ActiveRoles Management Shell for Active Directory" disponible sur le site de "Quest" Ensuite, il faut exécuter l'invite de commande "Windows PowerShell Modules". Le module va se charger. Pour l'export du CSV, il faut créer le dossier "TEMP" à la racine du système.

Ce script va rechercher dans tout l'annuaire Active Directory les utilisateur ne s’étant pas authentifié depuis plus de 90 jours et l'inscrire dans un fichier CSV dans le répertoire "c:\temp" :

$COMPAREDATE=GET-DATE
$NumberDays=90
$CSVFileLocation='C:\TEMP\OldComps.CSV'
 
GET-QADuser -SizeLimit 0 -IncludedProperties LastLogonTimeStamp | where { ($CompareDate-$_.LastLogonTimeStamp).Days -gt $NumberDays } | Select-Object Name, LastLogonTimeStamp, OSName, ParentContainerDN | Sort-Object ModificationDate, Name | Export-CSV $CSVFileLocation

Celui va rechercher dans tout l'annuaire Active Directory les utilisateur ACTIF ne s’étant pas authentifié depuis plus de 90 jours et l'inscrire dans un fichier CSV dans le répertoire "c:\temp" :

$COMPAREDATE=GET-DATE
$NumberDays=90
$CSVFileLocation='C:\TEMP\OldComps.CSV'
 
GET-QADuser -Enabled -SizeLimit 0 -IncludedProperties LastLogonTimeStamp | where { ($CompareDate-$_.LastLogonTimeStamp).Days -gt $NumberDays } | Select-Object Name, LastLogonTimeStamp, OSName, ParentContainerDN | Sort-Object ModificationDate, Name | Export-CSV $CSVFileLocation

A bientôt,
Romain