用一个脚本来快速获取 Windows 服务器\客户端本地管理员组中的成员列表,也适合在域环境中使用。脚本内容如下:
Sub GetAdministrators(strComputerName)
Dim objWMIService, strQuery, colItems, Path, strMembers
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
strQuery = "select * from Win32_GroupUser where GroupComponent = " & chr(34) & "Win32_Group.Domain='" & strComputerName & "',Name='Administrators'" & Chr(34)
Set ColItems = objWMIService.ExecQuery(strQuery)
strMembers = ""
For Each Path In ColItems
Dim strMemberName, NamesArray, strDomainName, DomainNameArray
NamesArray = Split(Path.PartComponent,",")
strMemberName = Replace(Replace(NamesArray(1),Chr(34),""),"Name=","")
DomainNameArray = Split(NamesArray(0),"=")
strDomainName = Replace(DomainNameArray(1),Chr(34),"")
If strDomainName <> strComputerName Then
strMemberName = strDomainName & "\" & strMemberName
End If
WScript.Echo strMemberName
Next
End Sub
Function GetComputerName()
Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
For Each objItem in colItems
strComputerName = objItem.Name
GetComputerName = strComputerName
Next
End Function
GetAdministrators GetComputerName
将以上代码保存为 .vbs 文件,然后双击运行即可。
实际测试,直接允许脚本,可以得到如下结果:
以下是一个用于列出本地计算机上所有组的成员(用户和其他组)的VBScript脚本示例:
Set objComputer = GetObject("WinNT://.")
objComputer.Filter = Array("group")
WScript.Echo "Local Computer Groups and Their Members:"
For Each objGroup In objComputer
WScript.Echo "Group: " & objGroup.Name
For Each objMember In objGroup.Members
WScript.Echo " Member: " & objMember.Name
Next
WScript.Echo "-------------------------"
Next
将以上代码保存为 .vbs 文件,然后双击运行即可。这个脚本会枚举并列出本地计算机上的所有组以及它们的成员(包括用户和其他组)。
请注意,同样需要管理员权限来访问组和成员信息。如果因安全策略的限制而无法运行脚本,你可能需要联系系统管理员获取必要的权限。
脚本会输出大量信息,所以在输出中寻找特定信息时可能会有些繁琐。你可以根据需要进行适当的处理,例如将结果输出到文件,以便更好地管理信息。
如果以上对你有帮助,请记得收藏点赞哦!!!