Archives de la catégorie ‘AD Tips & Tricks’

AD Guys, Hello again 🙂

Si vous souhaitez connaître la date d’expiration des password de vos comptes users AD, eh bien pouvez simplement exécuter le code PS suivant :

Requirements
  • Lancez Windows PowerShell en tant qu’Admin
  • Exécutez les lignes de codes ci-dessous depuis un DC (not recommended) ou une machine d’administration ayant les outils RSAT installés et notamment le module PowerShell « ActiveDirectory » (recommended :)).

 

HowTo : connaitre la date d’expiration des mots de passes de vos comptes users AD

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties « DisplayName », « msDS-UserPasswordExpiryTimeComputed » | Select-Object -Property « Displayname »,@{Name= »ExpiryDate »;Expression={[datetime]::FromFileTime($_. »msDS-UserPasswordExpiryTimeComputed »)}}

Tip : si vous souhaitez trier les informations retournées par « Date la plus récente », exécutez la commande suivante :

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties « DisplayName », « msDS-UserPasswordExpiryTimeComputed » | Select-Object -Property « Displayname »,@{Name= »ExpiryDate »;Expression={[datetime]::FromFileTime($_. »msDS-UserPasswordExpiryTimeComputed »)}} | Sort ExpiryDate -Descending

Le résultat retourné par cette commande est affiché dans la screenshot ci-dessous :

 

Comme vous le savez, Microsoft propose un module PS qui vous  permet de créer, gérer et administrer l’annuaire Active Directory (rôle ADDS) via Windows PowerShell : Il s’agit du module « ActiveDirectory « .

Pour obtenir la liste complète des Cmd-lets fournies avec ce module, exécutez la commande suivante :

Get-Command -Module ActiveDirectory

Pour connaître le nombre exact de Cmd-lets fournies avec le module ActiveDirectory, exécutez la commande suivante :

(Get-Command -Module ActiveDirectory).Count

Comme montré ci-dessus, 147 Cmd-lets au total (au moment de l’écriture de cet article) sont disponibles avec le module ActiveDirectory.

Aujourd’hui, nous allons uniquement nous intéresser à la Cmd-Let « Get-ADUser« .

Celle-ci sera utilisée pour :

Connaître la date de changement de mot de passe des utilisateurs de notre annuaire AD

Lister tous les comptes utilisateurs ayant un mot de passe qui n’expire jamais !

 

Introduction à la Cmd-let « Get-ADUser »

La Cmd-let « Get-ADUser » vous permet de lister un ou plusieurs (Objets) utilisateurs Active Directory.

A l’aide de certains paramètres Get-ADUser, vous pouvez réaliser des requêtes/opérations avancées sur des objets « Utilisateurs » ainsi que leurs propriétés.

Quelques exemples d’utilisation :

  • Lister tous les utilisateurs qui ne sont pas connectés depuis 180 jours
  • Lister tous les utilisateurs qui font parti du département « Marketing »
  • Lister tous les utilisateurs qui ont un mot de passe qui n’expire « Jamais »
  • Lister tous les comptes utilisateurs dont le mot de passe expire dans une semaine
  • ..

Vous pouvez consulter cet article pour en savoir plus sur la Cmd-let Get-ADUser.

Paramètres associés avec la Cmd-Let « Get-ADUser »

Pour lister tous les paramètres et options disponibles avec la Cmd-Let Get-ADUser, je vous invite à exécuter la commande suivante :

help Get-ADUser

 

HowTo : connaitre la date de modification/changement du mot de passe de vos utilisateurs AD

Pour connaitre la date à laquelle un mot de passe a été changé/modifié, nous allons d’abord récupérer le nom de la propriété qui stocke cette information.

Pour ce faire, je vais dans l’exemple suivant exécuter la commande Get-ADUser -identity hicham.kadiri -properties * pour afficher toutes les propriétés de la Cmd-Let Get-ADUser (ou hicham.kadiri est le nom d’utilisateur de mon compte AD).

Comme illustré dans la capture d’écran précédente, la propriété qui stocke la date de changement du mot de passe est « PasswordLastSet« .

Dans l’exemple suivant, nous allons afficher la date à laquelle le mot de passe du compte utilisateur « hicham.kadiri » a été changé, seules les propriétés « Name » et « PasswordLastSet » sont sélectionnées :

Get-ADUser -identity hicham.kadiri  -Properties Name, PasswordLastSet | Select Name, PasswordLastSet

Pour obtenir la même information mais au niveau de votre domaine AD (tous les comptes utilisateurs du domaine), la commande suivante est exécutée :

Get-ADUser -Filter * -Properties Name, PasswordLastSet | Select Name, PasswordLastSet

Comme vous pouvez le conster, les informations (dates & heures) retournées au niveau de la colonne « PasswordLastSet » ne sont pas triées.

Si vous souhaitez trier ces données (du plus récent au plus ancien dans l’exemple suivant), la commande suivante est utilisée :

Get-ADUser -Filter * -Properties Name, PasswordLastSet | Select Name, PasswordLastSet | Sort PasswordLastSet -Descending

Tip : lister tous les comptes utilisateurs qui ont un mot de passe qui n’expire jamais peut également être utile car si vous avez défini une nouvelle stratégie de mot de passe (au niveau du domaine ou OU via une PSO/FGPP), celle-ci ne s’appliquera jamais sur les comptes utilisateurs ayant l’option « Le mot de passe n’expire jamais » cochée.

Nous allons dans l’exemple suivant lister tous les comptes utilisateurs dont le mot de passe n’expire jamais, et afficher uniquement les trois propriétés suivantes : Nom, PasswordLastSet et PasswordNeverExpires :

Get-ADUser -Filter * -Properties Name, PasswordLastSet, PasswordNeverExpires | Select Name, PasswordLastSet, PasswordNeverExpires | Sort PasswordLastSet -Descending

Enfin, si vous souhaitez exporter ces informations vers un fichier CSV pour les traiter/présenter plus tard, exécutez la commande suivante :

Get-ADUser -Filter * -Properties Name, PasswordLastSet, PasswordNeverExpires | Select Name, PasswordLastSet, PasswordNeverExpires | Sort PasswordLastSet -Descending | Export-csv C:\AuditAD.csv

HowTo : Réinitialiser le mot de passe DSRM de votre annuaire AD

Le mot de passe de restauration d’annuaire (DSRM : Directory Service Restore Mode)  est particulier. Il est utile dans les situations d’urgence et est rarement utilisé. Il n’est pas identique au mot de passe de l’administrateur du domaine et il peut être différent entre les contrôleurs de domaine. Il est important de mettre ce mot de passe en lieu sûr.

Si vous ne le connaissez pas, vous pouvez utiliser la procédure suivante pour le réinitialiser.
Ouvrez une invite de commande DOS (en tant qu’administrateur si la version est égale ou supérieure à Windows 2008) :

NTDSUtil
Set dsrm password
Reset password on server null
“Nouveau mot de passe”
”Confirmer le mot de passe”
Quit

 

Cet article vous a plu ?

Il s’agit d’un extrait de la Seconde Edition du livre « Active Directory 2016 – Déploiement et Administration en Entreprise ».

Disponible sur BecomeITExpert.com, cliquez sur l’image ci-dessous pour en savoir plus :