如何列出域用户组可以管理的所有域机器?

如何列出域用户组可以管理的所有域机器?

多年来,我的域中有许多额外和重复的用户组。所以我需要确定特定组对哪台机器具有管理权限。我进行了大量搜索,但确实找不到解决方案。有什么好主意吗?

谢谢

答案1

您可以使用 PowerShell 查询远程计算机的本地组成员身份。在 PowerShell V1 和 V2 中,您可以使用 Windows Management Instrumentation (WMI) 实现此目的。PowerShell V3 具有本机 cmdlet。

但是,坚持使用 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 中的所有计算机对象......

答案2

如果我理解正确的话,您想列出您域中每台机器的本地管理员是谁?

您必须连接到每台计算机并列出本地管理员组。据我所知,这些信息不会保存在 Active Directory 或任何其他东西中。有几种方法可以做到这一点,但其中一种方法是使用免费工具执行在每台 PC 上转储组成员身份。

首先,您必须生成一份要获取此信息的所有 Windows 计算机的列表。将其保存到纯文本文件中,主机名或 IP 各占一行。

从命令提示符运行以下命令:

psexec.exe @主机名.txt-u用户-p密码网络本地组“管理员”>输出文件.txt

(在哪里用户密码是域管理员帐户)。

这将花费相当多的时间,具体取决于您要扫描的主机数量,但您应该有一个具有本地管理员访问权限的组/帐户的列表。

相关内容