web-dev-qa-db-fra.com

PowerShell: Créer un compte d'utilisateur local

J'ai besoin de créer un nouveau compte d'utilisateur local, puis de les ajouter au groupe local Administrateurs. Cela peut-il être fait dans PowerShell?

MODIFIER:

# Create new local Admin user for script purposes
$Computer = [ADSI]"WinNT://$Env:COMPUTERNAME,Computer"

$LocalAdmin = $Computer.Create("User", "LocalAdmin")
$LocalAdmin.SetPassword("Password01")
$LocalAdmin.SetInfo()
$LocalAdmin.FullName = "Local Admin by Powershell"
$LocalAdmin.SetInfo()
$LocalAdmin.UserFlags = 64 + 65536 # ADS_UF_PASSWD_CANT_CHANGE + ADS_UF_DONT_EXPIRE_PASSWD
$LocalAdmin.SetInfo()

J'ai cela, mais je me demandais s'il y avait quelque chose de plus PowerShell-esque.

54
PnP

Une autre alternative est les commandes old school Net User :

Net User username "password" /ADD

OK - vous ne pouvez pas définir toutes les options, mais il est beaucoup moins compliqué de créer un utilisateur et de créer facilement un script dans Powershell.

NET LOCALGROUP "group" "user" /add pour définir l'appartenance à un groupe.

67
SinisterPenguin

À partir de PowerShell 5.1, il y a une cmdlet New-LocalUser qui pourrait créer un compte utilisateur local.

Exemple d'utilisation:

Créer un compte utilisateur

New-LocalUser -Name "User02" -Description "Description of this account." -NoPassword

ou Créer un compte d'utilisateur qui a un mot de passe

$Password = Read-Host -AsSecureString
New-LocalUser "User03" -Password $Password -FullName "Third User" -Description "Description of this account."

ou Créer un compte d'utilisateur connecté à un compte Microsoft

New-LocalUser -Name "MicrosoftAccount\usr [email protected]" -Description "Description of this account." 
42
codevision

Essayez d'utiliser les fonctions Carbontilisateur d'installation et Add-GroupMember :

Install-User -Username "User" -Description "LocalAdmin" -FullName "Local Admin by Powershell" -Password "Password01"
Add-GroupMember -Name 'Administrators' -Member 'User'

Disclaimer: Je suis le créateur/le responsable du projet Carbon.

11
Aaron Jensen

À compter de 2014, voici une déclaration d'un représentant de Microsoft (le scripteur):

Même si nous ne voulons pas l'admettre, il n'y a toujours aucune cmdlet Windows PowerShell de Microsoft permettant de créer des comptes d'utilisateurs locaux ou des groupes d'utilisateurs locaux. Nous avons enfin un fournisseur DSC (Desired State Configuration) qui peut le faire, mais à ce jour, aucune applet de commande.

6
rasx
Import-Csv C:\test.csv |
Foreach-Object {
  Net User    $ _.username   $ _.password /ADD
  NET LOCALGROUP "group" $_.username  /ADD
}

éditez csv en tant que nom d'utilisateur, mot de passe et changez "groupe" pour votre nom de groupe

:) a travaillé sur R2 2012

1