Создание vbscript для чтения пользователь принадлежит к какой группе включая вложенную группу но не может получить список вложенных групп
я использую vbscript для чтения пользователь принадлежит к какой группе:
strUsers = inputbox("Enter user name") '************************************************************************** '***** DO NOT EDIT BEYOND THIS POINT ***** '************************************************************************** arrUsers = Split(strUsers, ",") Set fs = CreateObject ("Scripting.FileSystemObject") Set outFile = fs.CreateTextFile (".\User Group Membership Report.txt") outFile.WriteLine outFile.WriteLine " User Group Membership Report" outFile.WriteLine " ----------------------------" outFile.WriteLine outFile.WriteLine "Run on: " & Now() For x = 0 to UBound(arrUsers) arrUsers(x) = Trim(arrUsers(x)) If x = 0 Then outFile.WriteLine " Users: " & arrUsers(x) Else outFile.WriteLine " " & arrUsers(x) End If Next outFile.WriteLine "==================================================================" outFile.WriteLine For x = 0 to UBound(arrUsers) Call getGroups(arrUsers(x)) outFile.WriteLine "------------------------------------------------------------------" Next Wscript.echo "Done!" Sub getGroups(strUser) Set oNetwork = CreateObject("WScript.Network") strDomain = oNetwork.UserDomain On Error Resume Next Set oUser = GetObject("WinNT://" & strDomain & "/" & strUser & ",user") If Err.Number <> 0 Then outFile.WriteLine strUser & " not found..." Exit Sub End If Err.Clear On Error Goto 0 outFile.WriteLine strUser & " - " & oUser.FullName For Each strGroup In oUser.Groups outFile.WriteLine " " & strGroup.Name Next Set GroupCollection = oUser.Groups WScript.Echo "User " & StrUserName & " is a Member of all the following Groups:" For Each ObjGroup In GroupCollection outFile.WriteLine " >> " & Trim(ObjGroup.Name) ' -- Now List all Nested Groups of which the User is a Member GetNested ObjGroup.Name Next End Sub Function GetNested(objGroup) On Error Resume Next outFile.WriteLine " checking for nested group>> " Set objSysInfo = CreateObject("ADSystemInfo") strUser = objSysInfo.UserName Set objUser = GetObject("LDAP://" & strUser) For Each strMember in objUser strPath = "LDAP://" & strMember Set objNestedGroup = GetObject(strPath) strGroupList = strGroupList & "[" + objNestedGroup.Name & "] " outFile.WriteLine " >> " & strGroupList GetNested(objNestedGroup) Next End Function
я получаю группы, но не вложенные группы..пожалуйста помочь.
Что я уже пробовал:
я попробовал с LDAP его работать,но он не может читать некоторые группы,поэтому я решил пойти с winnt// .так что я могу читать группы, но не вложенные группы
CHill60
Для начала вы ничего не возвращаете из функции GetNested. Попробуйте избавиться от "On Error Resume Next", и сообщение об ошибке может помочь вам выяснить, что случилось
lakshjoshi
хорошо ... спасибо за помощь, я проверю это