PowerShell - Active Directory - Désactiver automatiquement les comptes expirés

Active Directory dispose de la capacité de définir une date d'expiration sur les comptes de sorte que le compte devienne inactif et ne puisse plus être accédé/connecté une fois que cette date est passée.

Le problème avec ce fonctionnement est qu'en théorie, le compte est toujours "activé" - car il n'est pas réellement "désactivé" - il est simplement expiré. Les comptes désactivés peuvent facilement être identifiés dans Active Directory Users & Computers par une icône légèrement différente à côté du nom du compte. Cependant, les comptes expirés n'ont aucune indication visuelle qu'ils sont expirés, ce qui les rend plus difficiles à identifier.

Voici un script rapide PowerShell que l'on peut lancer quotidiennement pour désactiver tous les comptes Active Directory qui ont expiré.

1
2
3
4
5
6
$expiredusers = get-aduser -Filter * -Properties AccountExpirationDate | where-object {($_.AccountExpirationDate -lt $(get-date)) -and ($_.AccountExpirationDate -ne $null) -and ($_.enabled -eq $true)}

if ($expiredusers)
    {
    set-aduser -identity $($user.samaccountname) -enabled $false
    }

En conclusion, ce script PowerShell va vous faciliter considérablement la gestion des comptes expirés dans Active Directory en les désactivant. Cela non seulement améliore la sécurité en empêchant les personnes d'utiliser des comptes expirés.

Commentaires

Posts les plus consultés de ce blog

Powershell - Supprimer Teams sur l'ensemble des profils utilisateurs

Powershell - Comment tester les ports TCP ?

PowerShell - Module pour rajouter le service WDS