【发布时间】:2014-08-04 17:31:01
【问题描述】:
我在 VBScript 中遇到了一个问题,我的登录脚本只能看到用户直接所在的组,而不是用户间接所在的嵌套组。例如,如果 User1 在 GroupA 中,而 GroupA 在 GroupB 中,则脚本无法识别 User1 也是 GroupB 的成员。
Set objNetwork = WScript.CreateObject("WScript.Network")
strUserName = objNetwork.UserName
strComputerName = objNetwork.ComputerName
strUserDomain = objNetwork.UserDomain
Set objUser = GetObject("WinNT://" & strUserDomain & "/" & strUserName & ",user"
strGroupList = ""
For Each objGroup In objUser.Groups
strGroupList = strGroupList & "[" + objGroup.Name & "] "
GetNested(objGroup)
Next
GetNested 定义如下(从嘿,脚本专家的文章中得到,稍作修改)
Function GetNested(objGroup)
On Error Resume Next
colMembers = objGroup.GetEx("memberOf")
For Each strMember in colMembers
strPath = "LDAP://" & strMember
Set objNestedGroup = GetObject(strPath)
strGroupList = strGroupList & "[" + objNestedGroup.Name & "] "
GetNested(objNestedGroup)
Next
End Function
感谢任何帮助。
【问题讨论】:
标签: windows vbscript active-directory