|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Скрипт для автоматического создание учетных записей пользователей Windows |
|
|
Любой язык - Скрипт для автоматического создание учетных записей пользователей Windows
|
Новый участник Сообщения: 11 |
Здравствуйте форумчане! Необходим ваш совет и помощь
Имеется Windows Server 2016, Active Directory в сети не используется, сеть - простая рабочая группа с поднятием списка компьютеров сети мастер-браузером Задача создать 50 учетных пользователей и разнести их по группам, хочется это делать автоматически, потому как будут и другие еще сервера , на которые нужно прописывать тех же пользователей, а времени на долгоиграющие настройки нет как можно автоматизировать процесс, чтобы вручную не тыкать 50 раз "Новый пользователь" в оснастке "Локальные пользователи и группы" > "Пользователи" ? В сети много написано по автоматическому созданию пользователей в AD, но мне это не подходит, нужно создать простые учетки сразу с паролем, описанием и разнесением по группам. Если кто сможет дать хотя бы пример скрипта. Првильно ли я думаю, что механизм создания учеток примерно одинаков для всех систем начиная от Windows XP, и можно ли на всех системах использовать однотипный скрипт? Заранее благодарю за интерес к проблеме и любой дельный совет. AD создавать не предлагайте, в моих условиях это не возможно, только рабочая группа. |
|
Отправлено: 10:55, 20-07-2018 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать PowerShell:
The new local user and group cmdlets in PowerShell 5.1 - https://4sysops.com/archives/the-new...owershell-5-1/ PS > Get-Command -Module Microsoft.PowerShell.LocalAccounts CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-LocalGroupMember 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Disable-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Enable-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Get-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Get-LocalGroupMember 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Get-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet New-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet New-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Remove-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Remove-LocalGroupMember 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Remove-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Rename-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Rename-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Set-LocalGroup 1.0.0.0 Microsoft.PowerShell.LocalAccounts Cmdlet Set-LocalUser 1.0.0.0 Microsoft.PowerShell.LocalAccounts PS C:\> $Password = Read-Host -AsSecureString PS C:\> New-LocalUser "User03" -Password $Password -FullName "Third User" -Description "Description of this account." Name Enabled Description ---- ------- ----------- User03 True Description of this account. |
Отправлено: 11:01, 20-07-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Спасибо, буду пробовать
|
Отправлено: 11:15, 20-07-2018 | #3 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать SLAVUNCHIK,
Сто лет тому назад я управлялся с подобной сетью. Вот .js (сохранить в Windows-1251 кодировке).
/********************************************************************/ /* Имя: Add_Groups_Users.js */ /* Язык: JScript */ /* Описание: Создание групп на компьютере */ /* Создание пользователей на компьютере */ /* Помещение пользователей в группы на компьютере */ /********************************************************************/ var NetWork=WScript.CreateObject("WScript.Network"); var NameComp=NetWork.ComputerName; // Имя текущего компьютера //var NameComp="Afonchenko"; // Имя произвольного компьютера var WshShell=WScript.CreateObject("WScript.Shell"), ComputerObj=GetObject("WinNT://"+NameComp), //Экземпляр объекта Computer Mess=""; //Текст сообщения // Делаю группы Make_Group("Hunter_Dog","Охотники за собаками"); Make_Group("Hunter_Cat","Охотники за кошками"); Make_Group("Hunter_Ghost","Охотники за привидениями"); Make_Group("Hanter_Boss","Руководители живодёрской организации"); WScript.Echo(Mess); // Делаю юзеров: Группа, Сетевое Имя, Полное имя, Должность, Пароль ///--------------------------------------------------------------------------------------------------------- Make_User("Hunter_Dog","Ivanov_I_I","Иванов Иван Иванович","Главный убийца собак","123K456563"); Make_User("Hunter_Dog","Petrov_I_I","Петров Иван Иванович","Ведущий убийца собак","444@666456"); Make_User("Hunter_Dog","Poletaeva_R_V","Полетова Розалинда Вадимовна","Статист отдела собак",""); ///--------------------------------------------------------------------------------------------------------- Make_User("Hunter_Сat","Tramp_I_I","Трамп Иван Иванович","Главный убийца кошек","123K456563"); Make_User("Hunter_Сat","Obama_I_I","Обама Иван Иванович","Ведущий убийца кошек","444@666456"); Make_User("Hunter_Сat","Nuland_R_V","Нуланд Розалинда Вадимовна","Статист отдела кошек",""); ///--------------------------------------------------------------------------------------------------------- Make_User("Hunter_Boss","Noroads_I_I","Бездорожный Иван Иванович","Начальник всех живодёров","123K456563"); Make_User("Hunter_Boss","Slavunchik_I_I","Славунчик Иван Иванович","Зам по информационным технологиям","444@666456"); ///--------------------------------------------------------------------------------------------------------- // Помещаю юзеров в группы, отличные от первоначальных UserInGroup(NameComp,"Администраторы","Slavunchik_I_I"); //UserInGroup(NameComp,"Administrators","Slavunchik_I_I"); /************* Конец *********************************************/ // Функции // Создаю группу с именем ng, описанием dg function Make_Group(ng,dg) { var i_err=true; var GroupObj=ComputerObj.Create("group",ng); //Создаем объект класса Group GroupObj.Description=dg; //Меняем описание try {GroupObj.SetInfo()}; //Сохраняем информацию на компьютере catch (e) { i_err=false; Mess+="\n Группа "+ng+" "+e.description; } if (i_err) { Mess+="\n Группа "+ng+" создана"; } } // Создаю пользователя в группе ng // с именем входа nu // полное имя fu // описание du // начальный пароль pu // function Make_User(ng,nu,fu,du,pu) { var i_err=true; var Mess; var UserObj=ComputerObj.Create("user",nu); //Экземпляр объекта User UserObj.FullName=fu; //Добавляем полное имя UserObj.Description=du; //Добавляем описание созданного пользователя UserObj.SetPassword(pu); //Добавляем пароль try {UserObj.SetInfo()}; //Сохраняем информацию на компьютере catch (e) { i_err=false; Mess="\n Безуспешно пользователь "+nu+" "+e.description; } if (i_err) { Mess="\n Пользователь "+nu+" создан"; } i_err=YesNever(nu); if (ng != "") {UserInGroup(NameComp,ng,nu)}; WshShell.Popup(Mess,1,"Создаем пользователей",64); } // В компьютере nc в группу ng помещаю пользователя nu function UserInGroup(nc,ng,nu) { var GroupObj= GetObject("WinNT://"+nc+"/"+ng), //Связываемся с компьютером UserObj, //Экземпляр объекта User Mess; try {GroupObj.Add("WinNT://"+nc+"/"+nu)}; //Сохраняем информацию на компьютере catch (e) { Mess="\n Безуспешно в группу "+nu+" "+e.description; WshShell.Popup(Mess,1,"Ошибка при группировке",64); } } //// ставим юзеру птичку пароль никогда не меняется function YesNever(NUser) { var OUser,ltry=true; try // Пытаемся найти имя в текущем компьютере { OUser=GetObject("WinNT://"+NameComp+"/"+NUser+",user"); } catch (e) { ltry=e==0; } if (ltry) { var Never=OUser.Get("UserFlags"); OUser.Put("UserFlags",0x10000); OUser.SetInfo(); } return true; } Надо подготовить скрипт с актуальными названиями групп и описанием пользователей. Можно запустить на каждом компьютере локально, если есть права на создание пользователей. При наличии прав можно запустить и удалённо, указав имя произвольного имеющегося компьютера. На компе создаются нужные группы. В созданных группах создаются пользователи. Созданных пользователей можно прописать также и в других группах, если они есть на компьютере, например, добавить в группу Администраторы локального или указанного компьютера. Примечание: Любое совпадение имён или названий случайно ![]() |
------- Последний раз редактировалось megaloman, 20-07-2018 в 17:06. Отправлено: 11:48, 20-07-2018 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
||
Отправлено: 12:14, 20-07-2018 | #5 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Kazun, здравствуйте! мне нужно задать имя компьютера, изменить рабочую группу, активировать встроенную учётку админа с вводом пароля + подтверждение пароля (символы должны скрываться, либо звёздочки) вот мой скрипт
@set /p comp_name= "name Computer= --> echo comp_name - %comp_name% wmic computersystem where name="%computername%" rename "%comp_name%" дальше не могу разобраться как это реализовать @set /p pass= "введите пароль= --> @set /p pass2= "подтвердите пароль= --> if "%pass%"=="%pass2%" do net user Администратор %pass2% /active else #вернуться к строке @set /p pass= "введите пароль= --> #помогите пожалуйста разобраться с этой задачей# |
Отправлено: 09:08, 23-07-2018 | #6 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Не стал создавать новую тему, нашёл подобную.
Вопрос в следующем. У меня есть команда: New-ADUser -Name "Ivanov Ivan Ivanovich" -DisplayName "Ivanov Ivan Ivanovich" -GivenName "Ivan Ivanovich" -Surname "Ivanov" -SamAccountName "ivanov.ii" -UserPrincipalName "ivanov.ii@domain.ru" -Path "OU=Users,DC=domain,DC=ru" -CannotChangePassword $false -ChangePasswordAtLogon $true -AccountPassword (ConvertTo-SecureString -AsPlainText "SuperPassword" -Force) -Enabled $true |
Последний раз редактировалось it3, 11-09-2019 в 10:37. Отправлено: 06:37, 11-09-2019 | #7 |
fascinating rhythm Сообщения: 6660
|
Профиль | Отправить PM | Цитировать Цитата it3:
|
|
------- Отправлено: 15:48, 11-09-2019 | #8 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Очень прошу поделиться рабочим скриптом для создания пользователя с правами администратора.
Нужно скрипт добавить в планировщик. |
Отправлено: 09:18, 24-10-2021 | #9 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Создание пользователя в планировщик? Какая цель этим преследуется?
Ну и рабочий скрипт здесь в этой ветке уже есть и для создания пользователя и для добавления его в группу администраторов. см. #2 |
Отправлено: 13:50, 24-10-2021 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Служебные - UserMake - создание учетных записей пользователей на Т-40/Т-13/Т-12/Т-0 | Mr dUSHA | Наборы обновлений для Windows XP/2003/Windows 7 | 141 | 25-11-2023 22:16 | |
2016 - Автоматическое создание учетных записей пользователей | SLAVUNCHIK | Windows Server 2016/2019/2022 | 5 | 20-07-2018 20:03 | |
[статья] Создание учетных записей и настройка автоматического входа в систему | Vadikan | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 20 | 04-01-2013 14:07 | |
Доступ - [решено] Создание учетных записей пользователей с определенным набором прав | Mist1 | Microsoft Windows 2000/XP | 2 | 20-12-2010 19:04 | |
Создание учетных записей пользователей | sergelen | Хочу все знать | 6 | 06-10-2006 03:19 |
|