PyroTechnic |
09-06-2014 19:42 2362198 |
objUser.memberOf не дает список групп
Есть скрипт:
Код:
var WshShell = WScript.CreateObject ("WScript.Shell");
objSysInfo = WScript.CreateObject("ADSystemInfo");
WScript.Echo (objSysInfo.UserName);
objUser = GetObject('LDAP://' + objSysInfo.UserName);
WScript.Echo ("Logon script: " + objUser.scriptPath);
WScript.Echo ("User logon name: " + objUser.userPrincipalName);
arrGroup = objUser.GetEx("memberOf");
for (i=0; i<arrGroup.length; i++)
{Wscript.Echo (arrGroup.item(i));
objGroup = GetObject('LDAP://' + arrGroup.item(i));
Wscript.Echo(objGroup.cn);
}
Wscript.Echo понатыканы для проверки. Метод objUser.GetEx("memberOf") не дает списка групп, хотя их у пользователя по три-четыре не считая Primary. Проверял через ADSIEDIT - в атрибуте memberOf значения есть и не одно. Что я не так делаю?
|
PyroTechnic |
09-06-2014 20:43 2362225 |
Сам же и решил, точнее нашел решение:
http://sirlagz.net/2011/01/04/query-...ive-directory/
Правильно скрипт должен выглядеть так:
Код:
var WshShell = WScript.CreateObject ("WScript.Shell");
objSysInfo = WScript.CreateObject("ADSystemInfo");
objUser = GetObject('LDAP://' + objSysInfo.UserName);
var arrGroup = VBArray(objUser.GetEx("memberOf")).toArray();
for (i=0; i<arrGroup.length; i++)
{objGroup = GetObject('LDAP://' + arrGroup[i]);
WScript.Echo(objGroup.cn);
}
|
Время: 23:52.
© OSzone.net 2001-