PowerShell: создать локальную учетную запись пользователя

Мне нужно создать новую локальную учетную запись пользователя, а затем добавить ее в локальную группу Администраторы. Можно ли это сделать в PowerShell?

EDIT:

# 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()

У меня есть это, но было интересно, есть ли что-то большее, чем PowerShell-esque.

Ответ 1

Другой альтернативой являются команды старой школы NET USER:

NET USER username "password" /ADD

ОК - вы не можете установить все параметры, но это намного менее запутанно для простого создания пользователя и легко script в Powershell.

NET LOCALGROUP "group" "user" /add, чтобы установить членство в группе.

Ответ 2

Как и в PowerShell 5.1, там cmdlet New-LocalUser, который может создать локальную учетную запись пользователя.

Пример использования:

Создайте учетную запись пользователя

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

или создать учетную запись пользователя с паролем

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

или создать учетную запись пользователя, подключенную к учетной записи Microsoft

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

Ответ 3

Попробуйте использовать Carbon's Install-User и Add-GroupMember:

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

Отказ от ответственности: Я создатель/сторонник проекта Carbon.

Ответ 4

С 2014 года вот инструкция от представителя Microsoft (Scripting Guy):

Насколько мы можем ненавидеть это признать, до сих пор нет Windows Командлеты PowerShell от Microsoft, которые разрешают создание локального пользователя учетных записей или локальных групп пользователей. У нас наконец есть желаемое государство Конфигурация (DSC), который может это сделать, но на сегодняшний день нет командлеты.

Ответ 5

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

отредактируйте csv как имя пользователя, пароль и измените "группу" для вашего имени группы

:) работал на 2012 R2

Ответ 6

Я запустил следующее, но оно все равно просто создает стандартную, а не учетную запись администратора. Что я делаю неправильно. Кстати, не используя CSV, просто запустив команду через powershell.

NET USER adminGuy adminPass/ADD NET LOCALGROUP "администратор" adminGuy/ADD