Блог
0 0 голоса
Рейтинг

В Windows 10 и Windows 11 важно отслеживать пользователей и группы с правами локальных администраторов для обеспечения безопасности. В этой статье описано, как просмотреть состав группы Administrators на локальных и удалённых компьютерах, а также как удалить лишних администраторов с помощью Управления компьютером, PowerShell, Invoke-Command и групповых политик.

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

Просмотр локальных администраторов на локальном компьютере

Через Управление компьютером

1. Откройте оснастку Управление компьютером (Computer Management):

– Нажмите Win+R, введите compmgmt.msc.

2. Перейдите в Локальные пользователи и группы (Local Users and Groups) → Группы (Groups).

3. Выберите группу Администраторы (Administrators).

– По умолчанию права администратора имеют локальная учётная запись Администратор и доменная группа Domain Admins (в домене Active Directory).
– Дополнительные пользователи или группы добавляются вручную, через скрипты или групповые политики.

Через PowerShell

1. Выведите состав группы Администраторы:


Get-LocalGroupMember -Group "Administrators"

– Поле PrincipalSource указывает источник: Local, ActiveDirectory или AzureAD.

2. Фильтрация локальных пользователей:


Get-LocalGroupMember Administrators | Where-Object { (Get-LocalUser $_.SID -ErrorAction SilentlyContinue).Enabled }

3. Фильтрация пользователей из Active Directory:


Get-LocalGroupMember Administrators | Where-Object {$_.PrincipalSource -eq "ActiveDirectory"} | Select PrincipalSource, ObjectClass, Name, SID

4. Получение подробной информации об AD-пользователях и группах (требуется модуль Active Directory из RSAT):


$admins = Get-LocalGroupMember Administrators | Where-Object {$_.PrincipalSource -eq "ActiveDirectory"}
foreach ($admin in $admins) {
if ($admin.ObjectClass -eq "User") { Get-ADUser $admin.SID | Select SamAccountName, Enabled }
if ($admin.ObjectClass -eq "Group") { Get-ADGroupMember $admin.SID | ForEach-Object { Get-ADUser $_ | Select-Object SamAccountName, Enabled } }
}

Просмотр администраторов на удалённых компьютерах

Для удалённого доступа требуется настроенный PowerShell Remoting (порт TCP 5985 открыт, WinRM включён через GPO).

На одном удалённом компьютере

Получите список администраторов на компьютере wks-t1122:


Invoke-Command -ComputerName wks-t1122 -ScriptBlock {Get-LocalGroupMember -Name 'Administrators' | Select Name, ObjectClass, PrincipalSource | Format-Table}

На нескольких компьютерах

1. Исключите группу Domain Admins:


$results = Invoke-Command -ComputerName wks-t112, srv-rds2 -ScriptBlock {Get-LocalGroupMember -Name 'Administrators' | Where-Object {$_.Name -notlike "*Domain Admins*"} | Select Name, ObjectClass, PrincipalSource}
$results | Select-Object PSComputerName, Name, ObjectClass, PrincipalSource

2. Экспортируйте результаты в CSV:


$results | Export-CSV "C:\PS\admins.csv" -NoTypeInformation -Encoding UTF8

На всех серверах в домене

1. Получите список серверов Windows Server в Active Directory:


$computers = (Get-ADComputer -Filter 'OperatingSystem -like "*Windows Server*" -and Enabled -eq "True"').Name

2. Запросите администраторов:


$results = Invoke-Command -ComputerName $computers -ScriptBlock {Get-LocalGroupMember -Name 'Administrators' | Where-Object {$_.Name -notlike "*Domain Admins*"} | Select Name, ObjectClass, PrincipalSource} -ErrorAction SilentlyContinue

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

Для минимизации рисков важно ограничивать количество администраторов. Используйте Restricted Groups в групповых политиках для автоматического управления составом группы Administrators.

Ручное удаление

1. На локальном компьютере:


Remove-LocalGroupMember -Group Administrators -Member username

2. На удалённом компьютере:


Invoke-Command -ComputerName wks-t1122 -ScriptBlock {Remove-LocalGroupMember -Group Administrators -Member username}

Массовое удаление через PowerShell

1. Соберите список администраторов:


$results = Invoke-Command -ComputerName wks-11, wks-22 -ScriptBlock {Get-LocalGroupMember -Name 'Administrators' | Where-Object {$_.Name -notlike "*Domain Admins*"} | Select Name, ObjectClass, PrincipalSource, SID}

2. Выведите список в таблице Out-GridView:


$principals_to_remove = $results | Out-GridView -Title "Выберите пользователей для удаления из локальных администраторов" -OutputMode Multiple

3. Удалите выбранных пользователей:


foreach ($principal in $principals_to_remove) {
Invoke-Command -ComputerName $principal.PSComputerName -ScriptBlock {Remove-LocalGroupMember -Group Administrators -Member $using:principal.Name}
}

Примечание: Конструкция $using:principal.Name передаёт локальную переменную в удалённую сессию PSRemoting.

Устранение неполадок

Команда Get-LocalGroupMember не работает:

– Убедитесь, что используется PowerShell 5.1 или выше.

– Запустите PowerShell с правами администратора.

Ошибка доступа при удалённом выполнении:

– Проверьте, включён ли WinRM (Enable-PSRemoting).

– Убедитесь, что порт 5985 открыт (Test-NetConnection -ComputerName wks-t1122 -Port 5985).

Пользователь не удаляется:

– Проверьте, не добавлен ли он через GPO (Restricted Groups).

– Убедитесь, что учётная запись не является встроенной (Administrator).

Рекомендации

Безопасность: Минимизируйте количество администраторов, используя Restricted Groups в GPO.

Мониторинг: Настройте аудит изменений группы Administrators в Просмотре событий (Event Viewer, журнал Безопасность (Security)).

Резервное копирование: Перед удалением создайте точку восстановления.

Определение и управление локальными администраторами в Windows 10 и Windows 11 возможно через Управление компьютером, PowerShell и Invoke-Command. Автоматизация с помощью Restricted Groups и массовое удаление через Out-GridView упрощают контроль над правами. Эти методы обеспечивают безопасность и эффективность управления доступом в локальных и доменных средах.

Лицензионный ключ активации Windows 11 от
1690 ₽ Купить
0 0 голоса
Рейтинг
Подписаться
Уведомить о
guest
0 отзывов
Межтекстовые Отзывы
Посмотреть все комментарии