За прошедшие годы в моем домене появилось много лишних и повторяющихся групп пользователей. Поэтому мне нужно определить, на каком компьютере конкретная группа имеет права администратора. Я провел изрядное количество поисков, но у меня определенно возникли проблемы с поиском решения. Есть хорошие идеи?
Спасибо
Если я правильно понял вопрос, вы хотите указать, кто является локальным администратором на каждой машине в вашем домене?
Вам нужно будет подключиться к каждой машине и перечислить локальную группу администраторов. Насколько мне известно, эта информация не хранится в Active Directory или чем-то еще. Есть несколько способов сделать это, но один из них - использовать бесплатный инструмент. psexec чтобы сбросить членство в группе на каждом ПК.
Сначала вам нужно будет создать список всех компьютеров с Windows, для которых вы хотите получить эту информацию. Сохраните его в текстовом файле, указав имена хостов или IP-адреса каждый в отдельной строке.
В командной строке запустите эту команду:
psexec.exe @hosts.txt -u пользователь -п пароль net localgroup "Администраторы"> outputfile.txt
(Куда пользователь и пароль являются учетной записью администратора домена).
Это займет довольно много времени, в зависимости от количества сканируемых хостов, но у вас должен быть список групп / учетных записей, у которых есть доступ локального администратора.
Вы можете запросить членство в локальной группе удаленного компьютера с помощью PowerShell. В PowerShell V1 и V2 этого можно добиться с помощью инструментария управления Windows (WMI). PowerShell V3 имеет собственные командлеты.
Однако, придерживаясь V2 (наиболее вероятная версия, которая будет доступна), вы можете получить членов локальной группы администраторов для удаленной машины, используя:
$strComputer = "computer-name-to-query";
Get-WmiObject -Class "Win32_GroupUser" -ComputerName $strComputer |
Where-Object{ $_.GroupComponent -match "Name=""Administrators""" } | ForEach-Object{
Write-Host -Object ( "{0} : {1}\{2}" -f $strComputer, ([wmi] $_.PartComponent ).Domain, ([wmi] $_.PartComponent).Name )
};
Это может быть связано с сценарием, который сначала запрашивает Active Directory для всех компьютерных объектов ...