Créer un utilisateur local avec Powershell

Création du compte:

$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"

# Création d'un nouvel utilisateur 'sdujancourt'
$user = $adsi.Create('User', 'sdujancourt')

# Définit un mot de passe à l'utilisateur
$user.SetPassword('Passw@rd')

# Enregistre l'utilisateur
$user.SetInfo()

Propriétés supplémentaires:

# Définit une description
$user.Description = 'Test User'

# Oblige à changer le MDP à la prochaine ouverture de session
$user.PasswordExpired = 1

# Enregistre l'utilisateur
$user.SetInfo()

Faire rejoindre des groupes:

# Ajoute au groupe 'Users'
$users = [ADSI]"WinNT://$env:COMPUTERNAME/Users,group"
$users.PSBase.Invoke('Add', $user.Path)

# Ajoute au groupe 'Administrators'
$admins = [ADSI]"WinNT://$env:COMPUTERNAME/Administrators,group"
$admins.PSBase.Invoke('Add', $user.Path)

Attention: l’utilisateur n’est réellement créé qu’après $adsi.Create + $user.SetInfo().

Vous obtiendrez l’erreur suivante si vous essayez de modifier une propriété sur $user (comme la description ou l’expiration du mot de passe) avant d’avoir réellement créé l’utilisateur:

Cannot set the Value property for PSMemberInfo object of type "System.Management.Automation.PSMethod".

Un appel à $user.SetInfo() suffira pour débloquer la situation.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s