用一个脚本来快速获取 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 文件,然后双击运行即可。这个脚本会枚举并列出本地计算机上的所有组以及它们的成员(包括用户和其他组)。
请注意,同样需要管理员权限来访问组和成员信息。如果因安全策略的限制而无法运行脚本,你可能需要联系系统管理员获取必要的权限。
脚本会输出大量信息,所以在输出中寻找特定信息时可能会有些繁琐。你可以根据需要进行适当的处理,例如将结果输出到文件,以便更好地管理信息。
如果以上对你有帮助,请记得收藏点赞哦!!!