Меню Рубрики

Скрипт создания пользователей windows

Создание пользователя из командной строки

Давным-давно прошли те времена, когда при установке Windows приходилось использовать загрузочную дискету. Если бы не эксперименты с переустановкой Windows (помнится восторг от инсталляции Millenium вместо 98) и частое использование CMD и ее утилит, то желание узнать что-то больше, что-то, что лежит за гранью, кануло бы в небытие.

Как правило, в то время основным функционалом (помнится еще и книгу по информатике купил) было использование стандартных утилит, типа dir, copy или format Нынче времена другие, и пожалуй даже школьник средних классов сможет легко обогнать учителя по информатике, если у преподавателя нет интернета, а у школьника есть, плюс, присутствует огромное желание познать что-то новенькое. К великому сожалению, часто приходится видеть этих школьников по телевизору, в новостях с громким название «Школьники украли 5000 долларов с электронных кошельков» или что-то подобное.

Пожалуй, каждый пользователей персонального компьютера с операционной системой Windows хотя бы раз создавал аккаунт, или видел, как это делается. И, пожалуй, многие гордятся, что у них учетная запись с правами Администратора, ну а если они еще и пароль поставят… то, пожалуй, чувствуют себя королем. Если при использовании Панели управления все довольно просто – создал нового юнита, сделал выбора типа «администратор», установил пароль и все, можно спокойно ложиться спать. Однако, если попробовать сделать тоже самое, то есть, создать пользователя из командной строки , то пред нашим взором возникнут много неожиданных и интересных моментов . И так, для того, чтобы добавить или удалить пользователя из командной строки, применяется команда net use, которая используется совместно с такими параметрами:

  • /add – добавление нового аккаунта
  • /delete – удаление существующего аккаунта
  • /comment – позволяет задать описание, например: «для сына» или «только для жены»
  • /fullname – тут прописывается полное имя, которое является также отображаемым именем
  • /passwordchg : – атрибут yes предоставляет пользователям право изменять в будущем свой пароль (стоит по умолчанию), а no – конечно, запрещает производить столь опасные действия
  • /passwordreq: – при условии, если установлен атрибут yes, то требуется наличие пароля
  • /active: – значение yes – включение учетной записи (стоит по умолчанию), а no – ее отключение, но не удаление!. Если же во время создания отключить учетную_запись, например:

, то она не будет отображаться во время загрузки системы и даже в аплете «Учетные записи пользователей».

Если запустить команду net user без параметров, то можно увидеть, что кроме пользователя, создание которого производилось из командной строки, есть, и… УчетнаяЗапись Администратор и Гость. К сожалению, данная команда не показывает, какая активирована, а какая нет. Стоит помнить, что встроенные системные Учетные_Записи Администратор и Гость нельзя удалить посредством команды net user Администратор /delete. Их можно только отключить:


Стоит помнить, что данные учетные записи могут иметь и другие названия (Administrator, admin…). А теперь самое интересное, если вы счастливый обладатель XP, ну например SP3 (полагаю, что многое зависит еще и от сборки), то при установке операционной системы, Учетная_Запись «Администратор» остается включенной, более, она не отображается при входе в систему. В интернете есть видео под громким названием «Обходим пароль администратора», так вот, там при входе в систему (при появлении окна приветствия) достаточно было ввести комбинацию CTRL+Alt+DEL (дважды), в появившемся окне ввести Administrator и Enter, вы попадете в систему да еще и с правами администратора! Понятно, что если учетная запись не имеет пароля, и активна, то ничто не мешает попасть в середину. Для любознательных, можно открыть Панель управления/ Администрирование/ Управление компьютером и аналогично посмотреть, какие учетные записи есть и какие активны. Но, если вы счастливый обладатель Семерки, то тут трюк с CTRL+Alt+DEL уже не пройдет, поскольку Администратор отключен.

Но, создав пользователя из командной строки посредством утилиты net user, он автоматически будет зачислен в группу пользователи, что не есть хорошо, особенно, если мы хотим под этим аккаунтом творить свои темные делишки.

И так, следующая команда net localgroup позволяет просматривать имеющиеся в системе группы и добавить нового пользователя из CMD (командной строки) в ту или иную группу. Проделав аналогичные действия, мы увидим, что групп не две как предполагалось (Администраторы и Гости), а значительно больше.

Ладно, добавим NewUser в группу администраторы:

После выполнения данной команды наш новоиспеченный NewUser будет состоять в двух группах – Администраторы и пользователи (при желании можно его и в остальные группы добавить). Удаление пользователя из группы происходит с использованием параметра /delet. Например:

Тут стоит обратить внимание на Семерку, тут есть порой очень раздражающий механизм UAC – контроль учетных записей. При попытке что-то установить или изменить в системе, он предлагает вариант разрешить или нет. Иногда этот механизм не позволяет установить игру или программный пакет (стоит помнить, что некоторые функции CMD работают лишь в том случае, например, создание пользователя из командной строки, если ее запустить от имени администратора), в таком случае можно попробовать активировать встроенную системную запись Администратор и уже под ней произвести нужные действия. НО. После, ее надо или снова отключить, или же поставить пароль, от греха подальше.

Спасибо за внимание. Автор блога Владимир Баталий

Источник

Управление локальными пользователями и группами с помощью PowerShell

Относительно недавно Microsoft добавила в Windows стандартный PowerShell модуль для управления локальными пользователями и группами под названием Microsoft.PowerShell.LocalAccounts. Ранее этот командлет нужно было качать и импортировать в PowerShell отдельно. В Windows Server 2016 и Windows 10 модуль LocalAccounts теперь доступен по умолчанию, т.к. он входит в состав PowerShell 5.1. В более ранние версии Windows для использования модуля управления локальными аккаунтами нужно установить Windows Management Framework 5.1.

Модуль LocalAccounts

Всего в модуль входит 15 командлетов. Полный список командлетов в модуле LocalAccounts можно вывести так:

Get-Command -Module Microsoft.PowerShell.LocalAccounts

  • Add-LocalGroupMember – добавить пользователя в локальную группу
  • Disable-LocalUser – отключить локальную учетную запись
  • Enable-LocalUser – включить учетную запись (разблокировать)
  • Get-LocalGroup – получить информацию о локальной группе
  • Get-LocalGroupMember – получить список пользователей в локальной группе
  • Get-LocalUser – получить информацию о локальном пользователе
  • New-LocalGroup – создать новую локальную группы
  • New-LocalUser – создать пользователя
  • Remove-LocalGroup – удалить группу
  • Remove-LocalGroupMember – удалить члена из группы
  • Remove-LocalUser – удалить локального пользователя
  • Rename-LocalGroup – переименовать группу
  • Rename-LocalUser – переименовать пользователя
  • Set-LocalGroup – изменить группу
  • Set-LocalUser – изменить пользователя

Далее рассмотрим несколько типовых задач по управлению локальными пользователями и группами на компьютере с Windows 10 при помощи PowerShell командлетов из состава модуля LocalAccounts.

Управление локальными пользователями Windows с помощью PowerShell

Выведем список имеющихся на компьютере локальных пользователей Windows:

Как вы видите, на компьютере имеется 7 локальных учетных записей, 3 из которых отключены (Enabled=False).

Чтобы вывести все свойства конкретной локальной учетной записи (аналог комадлета для получения иформации о пользователях из AD — Get-ADUser), выполните:

Get-LocalUser -Name ‘root’ | Select-Object *

AccountExpires :
Description :
Enabled : True
FullName :
PasswordChangeableDate : 4/23/2018 11:23:48 PM
PasswordExpires :
UserMayChangePassword : True
PasswordRequired : False
PasswordLastSet : 4/22/2018 11:23:48 PM
LastLogon : 7/15/2018 9:04:32 PM
Name : root
SID : S-1-5-21-3650440056-3766451173-3310994491-1001
PrincipalSource : Local
ObjectClass : User

Чтобы получить конкретный атрибут пользователя, например, время последней смены пароля, выполните:

Get-LocalUser -Name ‘root’ | Select-Object PasswordLastSet

Создадим нового локального пользователя с помощью командлета New-LocalUser. Данный командлет позволяет создать следующие типы учетных записей:

  • Локальные учетных записи Windows
  • Учетные записи Microsoft
  • Учетные записи Azure AD

При создании учётной записи пользователя с помощью New-LocalUser нельзя указывать ее пароль в качестве аргумента Password в открытом виде. Предварительно пароль нужно сконвертировать в безопасную строку, запросив пароль интерактивно:

$UserPassword = Read-Host –AsSecureString

Или указав пароль непосредственно в консоли PoSh:

$UserPassword = ConvertTo-SecureString «Pa$$word!!» -AsPlainText -Force

New-LocalUser «SIvanov» -Password $UserPassword -FullName «Sergey Ivanov» -Description «Local Account dlya udalennogo vhoda»

Чтобы изменить пароль пользователя, воспользуйтесь командой Set-LocalUser (предполагаем, что вы уже преобразовали новый пароль в SecureString):

Set-LocalUser -Name sivanov -Password $UserPassword –Verbose

Чтобы установить флаг «Срок действия пароля пользователя не истекает» («Password never expired»), выполните:

Set-LocalUser -Name sivanov –PasswordNeverExpires $True

Как видите, вам не нужно преобразовывать значение UserAccountControl, как при управлении свойствами учётной записи в AD.

Как вы помните, вы можете авторизоваться в Windows 10 под учетными записями Microsoft. Если нужно создать нового пользователя, связанного с аккаунтом Microsoft, выполните следующую команду (обратите внимание, что пароль аккаунта указывать не нужно, т.к. он хранится в Microsoft).

New-LocalUser -Name «MicrosoftAccount\SomeAccount@outlook.com» -Description «Это учетка в Microsoft»

Для создания локальной учётной записи, которая связана с вашим аккаунтом в Azure AD (например, вы пользуетесь Office 365), выполните команду:

New-LocalUser -Name «AzureAD\Itpro@winitpro.ru» -Description «Это учетка в Azure AD»

Чтобы удалить этого локального пользователя, выполните:

Remove-LocalUser -Name sivanov -Verbose

Управление локальными группам Windows с помощью PowerShell

Теперь выведем список локальных групп на компьютере:

Создадим новую группу:

New-LocalGroup -Name ‘RemoteSupport’ -Description ‘Remote Support Group’

Теперь добавим в новую группу несколько локальных учетных записей и группу локальных администраторов:

Add-LocalGroupMember -Group ‘RemoteSupport’ -Member (‘SIvanov’,’root’, ‘Администраторы’) –Verbose

Если ваш компьютер входит в домен, то вы можете добавить в локальную группы и доменные аккаунты или группы. Для этого их нужно указывать в формате DomainName\user2 или DomainName\’domain admins’.

Также вы можете добавить пользователя в группы с помощью следующего конвейера (добавим пользователя в локальные администраторы):

Get-Localuser -Name ‘sivanov’ | Add-LocalGroupMember -Group ‘Administrators’

Выведем список пользователей в локальной группе:

Get-LocalGroupMember -Group ‘RemoteSupport’

Как вы видите, мы используем только локальные учетные записи (PrincipalSource – Local). Однако здесь могут быть доменные аккаунты (domain), учетные записи Microsoft (MicrosoftAccount) и аккаунты из Azure (AzureAD).

Чтобы вывести список групп, в которых состоит конкретный пользователь, придется перебрать все локальные группы на компьютере:

foreach ($LocalGroup in Get-LocalGroup)
<
if (Get-LocalGroupMember $LocalGroup -Member ‘sivanov’ –ErrorAction SilentlyContinue)
<
$LocalGroup.Name
>
>

Чтобы убрать пользователя из группы, выполните:

Remove-LocalGroupMember -Group ‘RemoteSupport’ –Member ‘sivanov’

Для управления локальными пользователями на удаленном компьютере нужно сначала подключится к нему через WinRM командлетами Invoke-Command или Enter-PSSession.

Например, нам нужно собрать список учетных записей в локальной группе на удаленных компьютерах:

$s = new-pssession -computer pc01,pc02,pc03
invoke-command -scriptblock -session $s -hidecomputername | select * -exclude RunspaceID | out-gridview -title «LocalAdmins»

Источник

Как создать нового пользователя в Active Directory с помощю PowerShell командлета New-ADUser

Самый простой способ создать нового пользователя в домене Active Directory – воспользоваться графической mmc оснасткой ADUC ( Active Directory Users and Computers ). Но в том случае, если в домене нужно завести сразу несколько учетных записей, их создание в ручном режиме может стать довольно утомительной для администратора процедурой. В этой статье мы рассмотрим пример автоматизации создания учетных записей пользователей в AD с помощью командлета PowerShell New-ADUser .

Используем командлет New-ADUser для создания новой учетной записи AD

Командлет New-ADUser входит в состав модуля Active Directory для PowerShell . Для использования этого модуля, нужно установить на компьютере соответствующую ОС версию RSAT и включить компонент Active Directory Module for Windows PowerShell.

Для импорта модуля в сессию PowerShell выполните команду:

Полный синтаксис командлета New-ADUser можно получить с помощью команды

Get-Command New-ADUser –Syntax

В минимальной версии для создания новой учетной записи пользователя в AD достаточно указать только его имя.
New-ADUser testuser1

Как вы видите, новая учетная запись пользователя создалась в контейнере Users и является отключенной. Для использования данной учетной записи, ее нужно включить (командлет Enable-ADAccount), задать пароль (командлет Set-ADAccountPassword) и/или другие атрибуты (по необходимости).

Чтобы создать полноценную работоспособную учетную запись в определенном контейнере (OU) домена с паролем и сразу активировать ее, воспользуйтесь такой командой.

New-ADUser -Name «Test User2» -GivenName «Test» -Surname «User2» -SamAccountName «testuser2» -UserPrincipalName «testuser2@contoso.com» -Path «OU=Users,OU=Accounts,OU=SPB,DC=winitpro,DC=loc» -AccountPassword(Read-Host -AsSecureString «Input Password») -Enabled $true

Команда предложит сразу указать пароль нового пользователя (в защищенном виде)

Примечание . Пароль пользователя должен соответствовать доменным политикам безопасности паролей по длине, сложности и т.д., в противном случае командлет вернет ошибку: New-ADUser : The password does not meet the length, complexity, or history requirement of the domain .

Информацию о созданном пользователе домена можно получить с помощью командлета Get-ADUser :

Массовое заведение пользователей в AD скриптом описано в продолжении статьи: Массовое создание новых пользователей в AD из CSV скриптом PowerShell

Источник

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

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

  • Скрипт смены ip адреса для windows
  • Скрипт ключа windows 7
  • Скрипт запуска программы для windows 7
  • Скрипт для ускорения загрузки windows 8
  • Скрипт для запуска службы windows