Active Directory (RSAT PowerShell)

Cmdlets du module ActiveDirectory (RSAT) et outils en ligne de commande pour administrer et dépanner un domaine : comptes, groupes, réplication, GPO, contrôleurs de domaine.

Pour commencer

Prérequis

Installez les outils RSAT une fois (Windows 11), puis importez le module.

Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

Invite élevée. Pour les GPO : Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0.

Import-Module ActiveDirectory; Get-ADDomain | Select DNSRoot,PDCEmulator,DomainMode

Vérifie la connexion au domaine.

Résultats

Filtrer par catégorie

    Testez d'abord avec -WhatIf quand il existe. Les modifications d'AD sont répliquées à tous les contrôleurs de domaine : préférez une unité d'organisation de test.

    Liste complète

    Afficher les 29 entrées
    • Get-ADUser

      Get-ADUser -Identity <sam> | -Filter <expression> [-Properties <liste>]

      Lit un ou plusieurs comptes utilisateur.

      Get-ADUser jdupont -Properties * | Select Name,Enabled,LastLogonDate,PasswordLastSet,LockedOut
      Get-ADUser -Filter {Enabled -eq $true -and Department -eq 'Compta'} -Properties Department,Mail | Select Name,Mail
      Get-ADUser -Filter * -SearchBase 'OU=Employes,DC=contoso,DC=local' | Measure-Object
    • New-ADUser

      New-ADUser -Name <nom> -SamAccountName <sam> -AccountPassword <SecureString> -Enabled $true -Path <OU>

      Crée un compte utilisateur.

      New-ADUser -Name 'Jean Dupont' -GivenName Jean -Surname Dupont -SamAccountName jdupont -UserPrincipalName jdupont@contoso.local -Path 'OU=Employes,DC=contoso,DC=local' -AccountPassword (Read-Host -AsSecureString 'Mot de passe') -Enabled $true -ChangePasswordAtLogon $true
    • Set-ADUser

      Set-ADUser -Identity <sam> [-Propriété valeur]

      Modifie les attributs d'un utilisateur (service, titre, manager, expiration).

      Set-ADUser jdupont -Department 'Compta' -Title 'Comptable' -Manager mmartin
      Set-ADUser jdupont -AccountExpirationDate (Get-Date).AddDays(30)
      Set-ADUser jdupont -Replace @{ extensionAttribute1 = 'valeur' }
    • Unlock-ADAccount

      Unlock-ADAccount -Identity <sam>

      Déverrouille un compte verrouillé après trop de mots de passe erronés.

      Unlock-ADAccount jdupont
      Search-ADAccount -LockedOut | Unlock-ADAccount -WhatIf
    • Set-ADAccountPassword

      Set-ADAccountPassword -Identity <sam> -Reset -NewPassword <SecureString>

      Réinitialise le mot de passe d'un compte.

      Set-ADAccountPassword jdupont -Reset -NewPassword (Read-Host -AsSecureString 'Nouveau mot de passe')
      Set-ADUser jdupont -ChangePasswordAtLogon $true
    • Search-ADAccount

      Search-ADAccount [-LockedOut] [-AccountDisabled] [-AccountInactive -TimeSpan <j>] [-PasswordExpired] [-PasswordNeverExpires]

      Retrouve les comptes verrouillés, désactivés, inactifs ou au mot de passe expiré.

      Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly | Select Name,LastLogonDate
      Search-ADAccount -LockedOut | Select Name,LockoutTime
      Search-ADAccount -PasswordNeverExpires -UsersOnly | Select Name
    • Disable-ADAccount

      Disable-ADAccount -Identity <sam>

      Désactive un compte (départ d'un collaborateur) ; Enable-ADAccount le réactive.

      Disable-ADAccount jdupont
      Move-ADObject (Get-ADUser jdupont) -TargetPath 'OU=Desactives,DC=contoso,DC=local'
    • Get-ADGroupMember

      Get-ADGroupMember -Identity <groupe> [-Recursive]

      Liste les membres d'un groupe, y compris dans les groupes imbriqués avec -Recursive.

      Get-ADGroupMember 'Administrateurs du domaine' -Recursive | Select Name,SamAccountName
      Get-ADGroupMember 'GRP_Compta' | Get-ADUser -Properties Mail | Select Name,Mail
    • Add-ADGroupMember

      Add-ADGroupMember -Identity <groupe> -Members <comptes>

      Ajoute des membres à un groupe ; Remove-ADGroupMember les retire.

      Add-ADGroupMember -Identity GRP_Compta -Members jdupont,mmartin
      Remove-ADGroupMember -Identity GRP_Compta -Members jdupont -Confirm:$false
    • Get-ADPrincipalGroupMembership

      Get-ADPrincipalGroupMembership -Identity <sam>

      Liste les groupes dont un utilisateur ou un ordinateur est membre.

      Get-ADPrincipalGroupMembership jdupont | Select Name,GroupCategory | Sort Name
      Get-ADUser jdupont -Properties MemberOf | Select -Expand MemberOf
    • New-ADGroup

      New-ADGroup -Name <nom> -GroupScope Global|DomainLocal|Universal -GroupCategory Security -Path <OU>

      Crée un groupe de sécurité ou de distribution.

      New-ADGroup -Name GRP_Compta -GroupScope Global -GroupCategory Security -Path 'OU=Groupes,DC=contoso,DC=local' -Description 'Service comptabilité'
    • Get-ADComputer

      Get-ADComputer -Filter <expression> [-Properties <liste>]

      Lit les comptes d'ordinateurs (système, dernière connexion).

      Get-ADComputer -Filter * -Properties OperatingSystem,LastLogonDate | Group OperatingSystem | Select Count,Name
      Get-ADComputer -Filter {LastLogonDate -lt $date} -Properties LastLogonDate | Select Name,LastLogonDate
    • Reset-ComputerMachinePassword

      Reset-ComputerMachinePassword -Server <DC> -Credential <compte>

      Répare la relation d'approbation d'une machine membre du domaine (à lancer sur la machine).

      Reset-ComputerMachinePassword -Server DC01 -Credential CONTOSO\adminAD
      Test-ComputerSecureChannel -Repair -Credential CONTOSO\adminAD
    • Move-ADObject

      Move-ADObject -Identity <DN> -TargetPath <OU>

      Déplace un utilisateur, un ordinateur ou un groupe vers une autre OU.

      Get-ADComputer PC01 | Move-ADObject -TargetPath 'OU=Postes,DC=contoso,DC=local'
    • repadmin /replsummary

      repadmin /replsummary | /showrepl | /syncall /AdeP

      Résumé de la réplication AD et forçage de la synchronisation entre contrôleurs de domaine.

      repadmin /replsummary
      repadmin /showrepl * /csv | ConvertFrom-Csv | Where 'Number of Failures' -gt 0
      repadmin /syncall /AdeP
    • dcdiag

      dcdiag [/s:<DC>] [/test:<test>] [/v]

      Diagnostic complet d'un contrôleur de domaine (DNS, réplication, FSMO, services).

      dcdiag /v
      dcdiag /test:dns /v /e
      dcdiag /s:DC01 /test:replications
    • netdom query fsmo / Get-ADForest

      netdom query fsmo

      Identifie les contrôleurs détenant les cinq rôles FSMO.

      netdom query fsmo
      Get-ADDomain | Select PDCEmulator,RIDMaster,InfrastructureMaster
      Get-ADForest | Select SchemaMaster,DomainNamingMaster
    • Move-ADDirectoryServerOperationMasterRole

      Move-ADDirectoryServerOperationMasterRole -Identity <DC> -OperationMasterRole PDCEmulator

      Transfère un rôle FSMO vers un autre contrôleur de domaine.

      Move-ADDirectoryServerOperationMasterRole -Identity DC02 -OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster
    • Get-ADDomainController

      Get-ADDomainController -Filter * | Select Name,IPv4Address,Site,OperatingSystem

      Liste les contrôleurs de domaine et leurs rôles.

      Get-ADDomainController -Filter * | Select Name,IPv4Address,Site,IsGlobalCatalog
      Get-ADDomainController -Discover -Service PrimaryDC
    • Get-ADReplicationFailure

      Get-ADReplicationFailure -Target <DC>

      Échecs de réplication d'un contrôleur de domaine.

      Get-ADReplicationFailure -Target DC01 | Select Server,Partner,FirstFailureTime,FailureCount,LastError
      Get-ADReplicationPartnerMetadata -Target * -Scope Server | Select Server,Partner,LastReplicationSuccess
    • Get-GPO

      Get-GPO -All | -Name <nom>

      Liste les objets de stratégie de groupe.

      Get-GPO -All | Select DisplayName,GpoStatus,ModificationTime | Sort ModificationTime -Descending
    • Get-GPOReport

      Get-GPOReport -All -ReportType Html -Path <fichier>

      Exporte le contenu d'une ou de toutes les GPO en rapport HTML ou XML.

      Get-GPOReport -Name 'Postes - Sécurité' -ReportType Html -Path C:\Temp\gpo.html
      Get-GPOReport -All -ReportType Xml -Path C:\Temp\toutes-gpo.xml
    • New-GPLink

      New-GPLink -Name <GPO> -Target <OU> [-LinkEnabled Yes] [-Enforced Yes]

      Lie une GPO à une unité d'organisation, un site ou le domaine.

      New-GPLink -Name 'Postes - Sécurité' -Target 'OU=Postes,DC=contoso,DC=local' -LinkEnabled Yes
      Get-GPInheritance -Target 'OU=Postes,DC=contoso,DC=local'
    • Invoke-GPUpdate

      Invoke-GPUpdate -Computer <nom> -Force

      Force l'application des GPO sur une machine distante (équivalent de gpupdate /force).

      Invoke-GPUpdate -Computer PC01 -Force -RandomDelayInMinutes 0
      gpresult /s PC01 /r
    • Backup-GPO

      Backup-GPO -All -Path <dossier>

      Sauvegarde les GPO (et Restore-GPO pour les rétablir).

      Backup-GPO -All -Path D:\SauvegardeGPO
      Restore-GPO -Name 'Postes - Sécurité' -Path D:\SauvegardeGPO
    • Get-ADObject (corbeille AD)

      Get-ADObject -Filter 'isDeleted -eq $true' -IncludeDeletedObjects

      Retrouve et restaure un objet supprimé quand la corbeille AD est activée.

      Get-ADObject -Filter 'isDeleted -eq $true -and Name -like "Jean*"' -IncludeDeletedObjects -Properties LastKnownParent
      Get-ADObject -Filter 'Name -like "Jean*"' -IncludeDeletedObjects | Restore-ADObject
    • Get-ADDefaultDomainPasswordPolicy

      Get-ADDefaultDomainPasswordPolicy ; Get-ADFineGrainedPasswordPolicy -Filter *

      Stratégie de mot de passe du domaine et stratégies affinées.

      Get-ADDefaultDomainPasswordPolicy
      Get-ADUserResultantPasswordPolicy jdupont
    • Get-ADUser (audit : comptes jamais connectés, mots de passe anciens)

      Get-ADUser -Filter {...} -Properties PasswordLastSet,LastLogonDate

      Requêtes d'audit courantes sur les comptes.

      Get-ADUser -Filter {Enabled -eq $true} -Properties PasswordLastSet | Where PasswordLastSet -lt (Get-Date).AddDays(-365) | Select Name,PasswordLastSet
      Get-ADUser -Filter * -Properties LastLogonDate | Where {$_.LastLogonDate -eq $null -and $_.Enabled} | Select Name
      Get-ADUser -Filter {AdminCount -eq 1} -Properties AdminCount | Select Name
    • ldifde / csvde

      csvde -f <export.csv> -r "(objectClass=user)" -l <attributs>

      Exporte ou importe des objets AD en CSV (csvde) ou LDIF (ldifde).

      csvde -f C:\Temp\users.csv -r "(&(objectCategory=person)(objectClass=user))" -l sAMAccountName,mail,displayName
      ldifde -f C:\Temp\group.ldf -d "CN=GRP_Compta,OU=Groupes,DC=contoso,DC=local"

    Rechercher