我有Windows域网,我有大约3000台主机。我想查看在本地管理员组中指定了技术用户帐户的主机的信息。虽然我知道基本的东西,但我在力量上并不是那么出色。
我相信我必须列出我拥有的几个子网中的所有主机,然后运行一个脚本,尝试使用查看帐户凭据登录这些主机。
什么是最好的解决方案?
答案 0 :(得分:0)
TechNet上有一篇关于listing all computers in domain的非常详细的帖子。
这是WMI查询部分(PowerShell,$ aComputerList是计算机名称列表):
foreach ($sComputerName in $aComputerList) {
$sUserPattern = 'Win32_UserAccount.Domain="domainname",Name="username"'
$sGroupPattern = 'Win32_Group.Domain="{0}",Name="Administrators"' -f $sComputerName
$oResult = Get-WmiObject -ComputerName $sComputerName -Class Win32_GroupUser | `
Where-Object {
($_.groupcomponent -match $sGroupPattern) -and `
($_.partcomponent -match $sUserPattern)
}
[Bool]$oResult
}
困难的部分是某些计算机可能无法访问(例如,如果它们被关闭)。因此,您需要多次运行脚本,并在获得响应时从列表中删除计算机。