Powershell создать локальных пользователей и добавить их в группы.

Powershell-logo

Как при помощи Powershell создать локальных пользователей и добавить их в группы.

Довольно часто возникает необходимость создавать локальных пользователей на компьютерах и добавлять их в различные группы(в основном, конечно, в группу «Пользователи удаленного рабочего стола»). 

Хорошо, если это один-два пользователя, тогда несложно это сделать и руками. Но если их пара десятков, процесс превращается в нудный и малоэффективный.

В этом случае нам на помощь приходит Powershell, который значительно упрощает жизнь сисадмину.

Для добавления локальных пользователей на компьютер и добавление их в группу нам понадобится список пользователей в формате .csv(с указанием необходимых данных о пользователях) и небольшой скрипт Powershell. В данном случае скрипт создает пользователя, задает имя, полное имя и описание пользователя, а также добавляет его в нужные группы. При необходимости можно изменить(дополнить) файл и скрипт под свои задачи.

Файл csv можно создать в Excel с последующим сохранением в формате csv

Powershell создать локальных пользователей. Пример csv.

либо создать текстовый файл в обычном блокноте и сохранить его с расширением .csv

Вот так выглядит файл в блокноте:

Powershell создать локальных пользователей. Файл csv в блокноте.

Если вы добавляете пользователей на виртуальной машине, нужно скопировать файл с учетными данными пользователей и сам скрипт в виртуальную машину. Как скопировать файл в виртуальную машину VMware можно узнать здесь.

Еще:  Введение в Windows PowerShell А.Попов.pdf скачать

Ну а вот и сам скрипт Powershell, с помощью которого вы сможете создать пользователей и добавить их в группы быстро и просто(не забудьте запустить Powershell с правами Администратора).

Еще:  exe to msi. Как создать пакет msi из exe-файла.

Кстати, посмотреть пользователя, запустившего определенный процесс, тоже поможет powershell.

Ну, а если вы дочитали до конца, вот вам бонус — скрипт для создания локальных пользователей с графическим интерфейсом:
Скачать

Возможно, вас заинтересует статья о том как при помощи Powershell заставить локальных юзеров сменить пароль  User must change password. Снимаем и ставим галку при помощи Powershell.

Надеюсь, кому-то эта информация окажется полезной и поможет при помощи Powershell создать локальных пользователей и добавить их в нужные группы.

При создании скрипта использованы материалы с https://social.technet.microsoft.com/wiki/contents/articles/4546.working-with-passwords-secure-strings-and-credentials-in-windows-powershell.aspx

и https://social.technet.microsoft.com/Forums/ru-RU/b9fb9bca-ae42-436a-80c7-20d2b2bdb7cc/1044108610731072107410831077108510801077?forum=scrlangru

9 комментариев для “Powershell создать локальных пользователей и добавить их в группы.

  1. Попробывал ваш скрипт, но при попытке исполнить выходит ошибка.
    Import-Csv : Не удается проверить аргумент для параметра «Path». Аргумент пустой или имеет значение NULL.

  2. Иван, вероятнее всего, неверно указан путь к файлу csv. Проверьте правильность пути и попробуйте снова запустить скрипт.

  3. Автору респект!Скрипт ниплох, но я думаю что нужно его доработать, например добавить что бы при создании пользователя ставились галки: Срок действия пароля неограничен и Запретить смену пароля

  4. Иван, спасибо за комментарий. Задачи установить указанные галки не было, но спасибо за идею. Постараюсь допилить, если будет время. Кстати, информацию об изменении атрибутов пользователей можно посмотреть здесь. Вы можете использовать ее в своих скриптах.

  5. С вашими статьями ознакомился хорошая информация, скрипт ваш изменил немного спасибо вам за него, теперь галки стоят при создании,но вот мне нужно создать пользователей что бы при входе пользователя запускалась приложение со среды и некоторые параметры пользователя такие как врема сеанса или завершение отключенного сеанса, но пока не нашел как реализовать это.

  6. не удается найти параметр соответствующий имени параметра encoding

  7. Artem08.11.2020 в 12:16
    не удается найти параметр соответствующий имени параметра encoding

    Скорее всего необходимо обновить powershell до 5.1 версии…

  8. Для тех, кто как и я не шарит в PS, но не хочет создавать юзеров в ручную:
    Для того, чтобы у созданных юзеров стояли галочки: Срок действия пароля неограничен и Запретить смену пароля в скрипте необходимо добавить строку:
    set-LocalUser -Name $username -UserMayChangePassword 0 -PasswordNeverExpires 1
    после строки
    New-LocalUser -Name $username -Password $password -FullName «$fullname» -Description «$description»

    Должно получиться так:
    New-LocalUser -Name $username -Password $password -FullName «$fullname» -Description «$description»
    set-LocalUser -Name $username -UserMayChangePassword 0 -PasswordNeverExpires 1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *