Скрипт powershell для добавления пользователей списком
Привет, друзья! Недавно столкнулся c просто, но интересной задачей: нужно было добавить много локальных пользователей (более 50) с одинаковым паролем (да-да, это неправильно, но так требовал заказчик) в группы «Пользователи» и «Пользователи удаленного рабочего стола» в Windows Server 2019. Казалось бы, не ничего проще — заходи в «Панель управления» или в раздел «Управление компьютером => Локальные пользователи => Пользователи» и неспеша добавляй, но… время не только деньги, но и самое ценное в нашей суетной жизни, ведь сначала нужно добавить юзеров (задать имя, пароль, подсказку пароля), затем добавить каждого пользователя в нужные группы. Это очень долго. Я решил написать скрипт, который бы добавлял всех пользователей из списка, создавал каждому одинаковый пароль и помещал их в нужные мне группы.
Создаем папку, где буду лежать наши powershell-скрипты, на моем тестовом сервере, например, C:\psscripts\
Создаем в этой папке файл скрипта с расширением .ps1, например, adduserslist.ps1 (назвать можете как угодно, но лучше на латинице).
Вставляем скрипт из примера ниже в этот файл.
# Список пользователей для добавления
$userNames = @(
"User1",
"User2",
"User3",
"User4",
"User5",
"User6"
)
# Общий пароль для всех пользователей
$password = ConvertTo-SecureString "Пароль_пользователя" -AsPlainText -Force
# Цикл для создания каждого пользователя
foreach ($userName in $userNames) {
# Создание нового локального пользователя
New-LocalUser -Name $userName -Password $password -FullName $userName -Description "Local user account" -AccountNeverExpires -UserMayNotChangePassword
# Добавление пользователя в локальную группу "Пользователи"
Add-LocalGroupMember -Group "Пользователи" -Member $userName
# Добавление пользователя в локальную группу "Пользователи удаленного рабочего стола"
Add-LocalGroupMember -Group "Пользователи удаленного рабочего стола" -Member $userName
Write-Host "Пользователь $userName успешно создан и добавлен в группы."
}
Сохраняем файл.
Теперь посмотрим, какие группы пользователей есть в вашей системе, чтобы добавить их в скрипт, так как их названия могут отличаться в русскоязычной и англоязычной версии Windows Server.
Откроем PowerShell от имени администратора:
Далее в командной строке вводим:

Get-LocalGroup
В переменную $userNames добавьте пользователей списком (Имя пользователя в кавычках с запятой после, после крайнего пользователя запятая не нужна), в поле «Пароль пользователя» введите нужный Вам пароль, а в каждую строку Add-LocalGroupMember -Group добавляем нужные названия групп пользователей
Когда все данные заполнены, открываем командную строку от имени администратора и выполняем скрипт:
powershell.exe -executionpolicy bypass -file "c:\psscripts\adduserslist.ps1"

powershell.exe
— исполняемый файл PowerShell, который запускает PowerShell с командной строки или из скрипта.-ExecutionPolicy Bypass
— данный параметр позволяет обойти текущую политику выполнения скриптов PowerShell на компьютере. Если политика выполнения не позволяет запускать скрипты, этот параметр позволяет выполнить скрипт без изменения глобальной политики.-File "C:\Windows\psscripts\adduserslist.ps1"
— этот параметр указывает на полный путь к файлу скрипта PowerShell, который вы хотите выполнить.
Ждем выполнение скрипта и проверяем результат! Большое спасибо!