Menu Fermer

Ajouter, supprimer et modifier des comptes utilisateurs et des groupes locaux avec PowerShell

PowerShell donne la possibilité de gérer les utilisateurs locaux avec une collection de commandes Microsoft.PowerShell.LocalAccounts.

Cet article vous guide pour utiliser Powershell afin d’administrer vos comptes et groupes locaux.
Comment ajouter, supprimer et modifier des comptes utilisateurs et des groupes locaux avec PowerShell.

Ajouter, supprimer et modifier des comptes utilisateurs et des groupes locaux avec PowerShell

Les commandes Powershell pour gérer les comptes et groupes utilisateurs

Voici la liste des commandes disponible pour gérer les comptes locaux avec PowerShell.
La commande suivante permet de les lister :

Get-Command -Module Microsoft.PowerShell.LocalAccounts
Les commandes Powershell pour gérer les comptes et groupes utilisateurs
  • Add-LocalGroupMember — Ajouter un utilisateur à un groupe
  • Disable-LocalUser —Désactiver un utilisateur local
  • Enable-LocalUser — Activer un utilisateur local
  • Get-LocalGroup — Visualiser les groupes utilisateurs
  • Get-LocalGroupMember — Visualiser la liste de tous les groupes et leurs membres
  • Get-LocalUser — Visualiser les préférences du compte local
  • New-LocalGroup — Créer un groupe
  • New-LocalUser — Créer un nouvel utilisateur local
  • Remove-LocalGroup — Supprimer un utilisateur local
  • Remove-LocalGroupMember — Supprimer le membre d’un groupe
  • Remove-LocalUser — Supprimer un utilisateur local
  • Rename-LocalGroup — Renommer un groupe
  • Rename-LocalUser — Renommer un utilisateur
  • Set-LocalGroup — Changer les paramètres d’un groupe local
  • Set-LocalUser — Changer les paramètres d’un compte local

Ajouter, supprimer et modifier des comptes utilisateurs avec PowerShell

Lister les comptes utilisateurs locaux

Voici comment lister les comptes utilisateurs locaux.
Les comptes utilisateurs actifs sont marqués à True.

Get-LocalUser
Lister les comptes utilisateurs locaux en PowerShell

Pour afficher les informations complètes d’un compte utilisateur local, on utilise la commande Powershell suivante :

Get-LocalUser -Name 'nomutilisateur' | Select-Object *
Obtenir les informations des comptes utilisateurs locaux en PowerShell

Enfin pour filtrer sur un objet en particulier on utilise Select-Object.
Par exemple la dernière date de modification du mot de passe :

Get-LocalUser -Name 'nom utilisateur' | Select-Object PasswordLastSet
Obtenir les informations des comptes utilisateurs locaux en PowerShell

Créer un compte utilisateur local avec PowerShell

Ensuite PowerShell donne la possibilité de créer les comptes utilisateurs suivants :

  • Les comptes locaux
  • Compte Microsoft
  • Les comptes Active Directory Azure

Cela se fait avec la commande New-LocalUser.
Lorsque vous créé un compte utilisateur, vous devez indiquer le mot de passe.

Voici comment créer un compte local :

$UserPassword = Read-Host –AsSecureString
New-LocalUser "NomUtilisateur" -Password $UserPassword -FullName "NomUtilisateur" -Description "CompleteVisibility"

Ci-dessous, on créé un compte Microsoft avec Powershell :

New-LocalUser -Name "MicrosoftAccount\[email protected]" -Description "Microsoft Account"

Enfin pour créer un compte Active Directory Azure :

New-LocalUser -Name "AzureAD\[email protected]" -Description "Compte Azure AD"
D’autres exemples en ligne de commandes sur cette page : Créer, supprimer un compte utilisateur en invite de commandes de Windows.

Changer le mot de passe d’un utilisateur local avec PowerShell

Pour changer le mot de passe d’un compte utilisateur local avec PowerShell, on utilise la commande Set-LocalUser.

$UserPassword = Read-Host –AsSecureString
Set-LocalUser -Name NomUtilisateur -Password $UserPassword –Verbose

Pour que le mot de passe n’expire jamais, il faut alors utiliser cette commande :

Set-LocalUser -Name NomUtilisateur -PasswordNeverExpires $False
D’autres méthodessur cette page : Changer le mot de passe d’un utilisateur Windows.

Supprimer un compte utilisateur avec PowerShell

Le cmdlet Remove-LocalUser permet de supprimer un compte utilisateur local :

Remove-LocalUser -Name NomUtilisateur -Verbose

Ajouter, supprimer et modifier des groupe utilisateurs avec PowerShell

Lister les groupes utilisateurs

Voici comment lister les groupes utilisateurs avec PowerShell :

Get-LocalGroup
Lister les groupes utilisateurs en PowerShell

Ajouter un groupe utilisateur avec PowerShell

Ensuite pour créer un groupe utilisateur, on utilise New-LocalGroup :

New-LocalGroup -Name 'NomGroupeUtilisateur' -Description 'Description Groupe utilisateur'

Ajouter un utilisateur dans un groupe local avec Powershell

La commande pour créer un groupe utilisateur est Add-LocalGroupMember.
Vous pouvez ajouter plusieurs utilisateurs en une seule commande.

Add-LocalGroupMember -Group 'NomGroupe' -Member ('NomUtilisateur',’NomUtilisateur2') –Verbose

Par exemple pour ajouter l’utilisateur MaK et SuperMak au groupe administrateur en PowerShell :

Add-LocalGroupMember -Group 'Administrateur' -Member ('MaK',’SuperMaK') –Verbose

Lister les comptes utilisateur d’un compte utilisateur

Pour obtenir la liste des utilisateurs d’un groupe en PowerShell :

Get-LocalGroupMember -Group 'NomGroupe'
Lister les comptes utilisateur d'un compte utilisateur en PowerShell

Supprimer un groupe utilisateur local en PowerShell

Enfin pour supprimer un groupe utilisateur local en PowerShell, on utilise Remove-LocalGroupMember :

Remove-LocalGroupMember -Group 'NomGroupe' -Member 'NomUtilisateur'

Gérer les utilisateurs sur un PC distant avec PowerShell

Avec PowerShell vous pouvez aussi gérer les utilisateurs d’un PC distant.
Pour cela, vous devez vous connecter à ce dernier via WinRM à l’aide des applets de commande Invoke-Command et Enter-PSSession.
Cela ne fonctionne donc qu’avec un domaine utilisateur.

Par exemple si nous voulons afficher à distance l’appartenance au groupe Admin local sur plusieurs ordinateurs, nous devons exécuter le script suivant:

$search = new-pssession -computer NomOrdinateur,NomOrdinateur2,NomOrdinateur3
invoke-command -scriptblock {Get-LocalGroupMember -Group 'Administrateurs'} -session $search -hidecomputername | select * -exclude RunspaceID | out-gridview -title "Compte Local Admin"