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


02 августа 2019


Получение списка локальных пользователей в Powerhsell и создание новых

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

Get-Command -Module Microsoft.PowerShell.LocalAccounts

Powershell работа с локальными пользователями

Если нам нужно увидеть параметры, которые команды еще принимают, можно выполнить эту команду (на примере Get-LocalUser):

Get-Command Get-LocalUser -Syntax

Получение списка локальных пользователей Powershell

Получение списка локальных пользователей в Powershell Get-ADUser

Так мы получим список учетных записей:

Get-LocalUser

Мы можем получить такую информацию не обо всех учетных записях, а из конкретных групп. Так я получу локальных администраторов т.к. они находятся в соответствующей группе:

Get-LocalGroupMember -Group Administrators

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

Если требуется получить какие-то дополнительные параметры (свойства) объекта. Для того что бы узнать все параметры:

Get-LocalUser | Get-Member

А что бы вывести их все сразу:

Get-LocalUser | select *

get-localuser параметры

Так, например, я получу все объекты, которые активны:

Get-LocalUser | where -Property Enabled -eq $true

А так даты последнего входа только у тех объектов, которые включены:

Get-LocalUser | where -Property Enabled -eq $true | Select -Property LastLogon

 

Создание локального пользователя Powershell и добавление в группу

Так мы создадим нового пользователя с именем "IT_Support" с паролем "Parol12!":

$password = ConvertTo-SecureString -String "Parol12!" -AsPlainText -Force
New-LocalUser -Name "IT_Support" -Password $password -PasswordNeverExpires

Если мы не укажем ключ PasswordNeverExpires - пароль будет действовать месяц.

Powershell смена пароля

Затем добавим нового пользователя в группу администраторов:

Add-LocalGroupMember -Group Administrators -Member "IT_Support"

Ключ Member способен принимать несколько значений, т.е. мы можем добавить множество аккаунтов. Для этого нужно написать их через запятую.

При создании нового объекта есть еще несколько ключей:

  • AccountExpires - время активности учетной записи. Если не указан этот ключ, то такого срока нет. Если мы хотим указать этот срок нам нужна переменная datetime. Примеры с датой и временем в Powershell мы уже разбирали.
  • AccountNeverExpires - если не указан ключ выше, то у нас работает этот ключ.
  • Description - описание учетной записи по желанию.
  • Disabled - по умолчанию аккаунт включен, мы можем указать обратное.
  • FullName - имя и фамилия например.
  • NoPassword - учетная запись создается без пароля.
  • UserMayNotChangePassword - запрещает смену пароля.

 

Удаление локальных пользователей

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

Remove-LocalGroupMember -Group Administrators -Member IT_Support

Если мы хотим отключить объект:

Disable-LocalUser -Name IT_Support

И удалить:

Remove-LocalUser -Name IT_Support

 

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

Изменение существующих объектов делается с помощью команд с глаголом Set. На примере администратора сменим пароль:

$password = ConvertTo-SecureString -String "Parol12!" -AsPlainText -Force
Set-LocalUser -Name "Администратор" -Password $password

Мы можем изменить все те же параметры, что и в случае создания учетной записи (перечислены выше). Например так мы можем отключить срок действия пароля:

Set-LocalUser -Name "IT_Support" -PasswordNeverExpires

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

Enable-LocalUser -Name "IT_Support2"

 

...

Теги: #powershell


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.