Блог

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

Приобрести оригинальные ключи активации Windows всегда можно у нас в каталоге от 1099 ₽

Полный список командлетов PowerShell в модуле LocalAccounts можно вывести командой:

Get-Command -Module Microsoft.PowerShell.LocalAccounts

Модуль 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 при помощи командлетов из модуля LocalAccounts.

Создать нового локального пользователя с помощью PowerShell

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

New-LocalUser -Name "TestUser1" -FullName "Test User" -Description "User for tests"

Задайте пароль для нового пользователя:

$pass = ConvertTo-SecureString "softcomputers@ss321!" -AsPlainText -Force

New-LocalUser -Name TestUser2 -Password $pass

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

Add-LocalGroupMember -Group Administrators -Member TestUser2

При создании пользователя можно использовать дополнительные параметры:

AccountExpires — задаёт дату истечения срока действия учётной записи, после которой она будет автоматически отключена (по умолчанию командлет New-LocalUser создаёт учётную запись без ограничения по сроку действия).

AccountNeverExpires — устанавливает, что срок действия учётной записи не истекает.

Disabled — сразу отключает учётную запись после её создания.

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

UserMayNotChangePassword — запрещает пользователю изменять свой пароль.

Для создания нового пользователя в домене AD нужно использовать командлет New-ADUser.

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

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

Get-LocalUser

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

Get-LocalUser -Name 'root' | Select-Object *

Обратите внимание на атрибут PrincipalSource. В нем указан тип аккаунта. Это может быть:

Локальный пользователь Windows — (PrincipalSource: Local)

Учетные записи Microsoft — (PrincipalSource: Microsoft Account)

Учетные записи Azure AD — (PrincipalSource: AzureAD)

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

Get-LocalUser -Name 'root' | Select-Object PasswordLastSet

Изменить пароль существующего пользователя:

Set-LocalUser -Name TestUser2 -Password $UserPassword -Verbose

Установить флаг «Срок действия пароля пользователя не истекает»:

Set-LocalUser -Name TestUser2 -PasswordNeverExpires $True

Отключить учётную запись:

Disable-LocalUser -Name TestUser2

Включить учётную запись:

Enable-LocalUser -Name TestUser2

Удалить локального пользователя:

Remove-LocalUser -Name TestUser2 -Verbose

Используем PowerShell для управления локальными группами

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

Get-LocalGroup

Создать новую группу:

New-LocalGroup -Name 'RemoteSupport' -Description 'Remote Support Group'

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

Add-LocalGroupMember -Group 'RemoteSupport' -Member ('SIvanov','root', 'Administrators') -Verbose

Добавить пользователя в локальную группу для RDP доступа:

Get-LocalUser -Name TestUser2 | Add-LocalGroupMember -Group 'Remote Desktop Users'

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

Get-LocalGroupMember -Group 'RemoteSupport'

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

Добавить в локальную группу пользователя из Microsoft или AzureAD:

Add-LocalGroupMember -Group 'RemoteSupport' -Member ('MicrosoftAccount\[email protected]','AzureAD\[email protected]') -Verbose

Скрипт для вывода списка локальных групп, в которых состоит пользователь:

foreach ($LocalGroup in Get-LocalGroup) { if (Get-LocalGroupMember $LocalGroup -Member 'sivanov' -ErrorAction SilentlyContinue) { $LocalGroup.Name } }

Удалить пользователя из группы:

Remove-LocalGroupMember -Group 'RemoteSupport' -Member 'testuser2'

Управление локальными пользователями на удалённом компьютере

Подключитесь к удалённому компьютеру через WinRM командлетами Invoke-Command или Enter-PSSession. Пример команды для сбора списка учётных записей в локальной группе на удалённых компьютерах:

$s = New-PSSession -ComputerName pc01,pc02,pc03

Invoke-Command -ScriptBlock {Get-LocalGroupMember -Group 'RemoteSupport'} -Session $s -HideComputerName | Select * -ExcludeProperty RunspaceID | Out-GridView -Title "LocalAdmins"

Эти команды и скрипты помогут эффективно управлять пользователями и группами в Windows с использованием PowerShell, позволяя автоматизировать выполнение административных задач и повысить безопасность сети.

banner for Windows
Купить ключ активации Windows от
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии