Comment désactiver les comptes d'utilisateurs inactifs en utilisant PowerShell
Mar 17, 2015
Les comptes d'utilisateurs inactifs d'Active Directory (AD) peuvent représenter un risque de sécurité pour les organisations, dans des situations telles que lorsque d'anciens employés ont encore des comptes actifs des mois après avoir quitté l'entreprise parce que les RH n'ont pas informé l'IT, ou lorsque des comptes peuvent être créés dans un but particulier mais jamais supprimés après l'événement. Quelle que soit la raison de l'existence de tels comptes, Active Directory peut rapidement devenir incontrôlable, rendant à son tour vos systèmes plus difficiles à auditer et moins sécurisés.
Module Active Directory pour PowerShell
Le module PowerShell pour Active Directory permet aux administrateurs système d'interroger Active Directory et de générer des rapports en utilisant les données résultantes. Le module AD pour PowerShell est installé par défaut sur les contrôleurs de domaine Windows Server 2012, ou alternativement vous pouvez télécharger les Remote Server Administration Tools (RSAT) for Windows 8.1 et installer le module en utilisant la commande ci-dessous.
Connectez-vous en tant qu'administrateur local, ouvrez une invite PowerShell, tapez le code ci-dessous et appuyez sur ENTRÉE pour installer le module AD pour PowerShell :
Install-WindowsFeature RSAT-AD-PowerShell
Recherchez dans Active Directory les comptes inactifs
La cmdlet Search-ADAccount offre un moyen facile de rechercher dans Active Directory des comptes d'utilisateurs inactifs :
Search-ADAccount –UsersOnly –AccountInactive
La commande ci-dessus retourne tous les comptes inactifs. Pour restreindre les résultats à une plage horaire spécifique, vous pouvez ajouter le paramètre –TimeSpan à Search-ADAccount. Dans l'exemple ci-dessous, une variable définit la valeur pour le paramètre –TimeSpan, en utilisant l'applet de commande New-Timespan pour simplifier la saisie :
$timespan = New-Timespan –Days 90 Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan
Alternatively, you can specify the –DateTime parameter to return accounts that have been inactive since a given date. In the command that follows, accounts not active since May 5th 2014 are returned:
Search-ADAccount –UsersOnly –AccountInactive -DateTime ‘5/20/2014’
Pour obtenir des informations plus conviviales sur les comptes, redirigez les résultats vers la cmdlet Get-ADUser puis choisissez les colonnes à afficher dans le résultat en utilisant Select:
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Select Name,Department,Title,DistinguishedName
Les résultats peuvent également être triés par un champ spécifié, dans cet exemple par l'attribut LastLogOnDate, qui est dérivé du LastLogonTimestamp et converti en un format lisible :
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Sort LastLogOnDate | Select Name,Department,Title,DistinguishedName
Il est important de noter que contrairement à l'attribut LastLogOn, LastLogonTimestamp est synchronisé entre les contrôleurs de domaine, mais peut être obsolète de 9 à 14 jours, donc vous devriez prendre cela en compte lors du traitement de vos résultats.
Une autre manière de simplifier le résultat et de compter le nombre d'utilisateurs inactifs consiste à transmettre les résultats au cmdlet Measure :
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Measure
Comme avec tout autre cmdlets PowerShell, les résultats peuvent être transmis à Out-GridView, ou vers un fichier délimité par des virgules afin que les résultats puissent être importés dans Excel.
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Out-GridView
Désactiver les comptes inactifs
Une fois que vous avez obtenu l'ensemble des résultats recherchés, il vous suffit de les transmettre à la cmdlet Disable-ADAccount comme indiqué ici pour désactiver les comptes :
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Disable-ADAccount
Netwrix Auditor inclut la capacité de détecter et de désactiver les comptes utilisateurs inactifs sur toutes les versions prises en charge de Windows, et les résultats sont intégrés dans la base de données, les fonctionnalités de rapport et de notification du produit de sorte que des scripts supplémentaires ne doivent pas être exécutés et maintenus séparément. Netwrix Auditor peut désactiver les comptes inactifs, définir un mot de passe aléatoire, déplacer les comptes vers une Unité Organisationnelle (OU) désignée, ou supprimer les comptes.
Il est maintenant temps de donner votre avis dans le sondage ci-dessous. Gardez à l'esprit qu'il n'y a qu'une seule réponse correcte !
Contenu connexe sélectionné :
Partager sur
En savoir plus
À propos de l'auteur
Russell Smith
Consultant en TI
Consultant en TI et auteur spécialisé dans les technologies de gestion et de sécurité. Russell possède plus de 15 ans d'expérience dans le domaine des TI, il a écrit un livre sur la sécurité Windows et a coécrit un texte pour la série de cours académiques officiels de Microsoft (MOAC).
En savoir plus sur ce sujet
Gestion de la configuration pour un contrôle sécurisé des points de terminaison
Lois sur la confidentialité des données par État : Différentes approches de la protection de la vie privée
Exemple d'analyse des risques : Comment évaluer les risques
Le Triangle CIA et son application dans le monde réel
Qu'est-ce que la gestion des documents électroniques ?