как узнать должность пользователя в AD
Народ, подскажите, как называется аттрибут "должность" по английски в схеме AD?
~либо~ как перечислить все атрибуты объекта AD?
|
pva, а ты не смотрел программу WMI Code Creator ? В частности, через WMI классы (\root\CIMV2) и его методы Win32_UserAccount можно получить информацию. Программа создает код на VB script.
|
pva, если не ошибаюсь, атрибут называется Title
|
pva, приведи пример скрипта для истории :)
|
следующий код заполняет поле сообщения replyTo:
Код:
function mail_list(job_position)
{
var connection = new ActiveXObject("AdoDb.Connection");
var results = new ActiveXObject("AdoDb.Recordset");
var result1 = "";
connection.Open("Provider=ADsDSOObject");
results.open("SELECT Name, Mail FROM 'LDAP://OU=IS,OU=SECTOR,DC=SECTOR,DC=RU' where Title='" + job_position + "'", connection);
for(; !results.eof; results.MoveNext())
{
if (result1!="") result1 += ", ";
result1 += "\"" + results(0).value + "\" <" + results(1).value + ">";
}
return result1;
}
WScript.Echo(mail_list("Начальник Охраны"));
Человека поменяли, адрес поменяли, а робот - работает!
|
pva, может стоит модернизировать скрипт, точнее его текст
Код:
where Title='" + job_position + "'"
Если в AD написать лишний пробел в начале или в конце должности, то скрипт не отработает. Может стоит сделать like ? и использовать * ?
|
вариант с WMI Code Creator:
Код:
function mail_list(job_position)
{
var result1 = "";
for(var results=new Enumerator(GetObject("winmgmts:\\\\.\\root\\directory\\LDAP").
ExecQuery("SELECT * FROM ads_user where " + job_position,null,48));
!results.atEnd(); results.moveNext())
{
if (result1!="") result1 += ", ";
result1 += "\"" + results.item().ds_name + "\" <" + results.item().ds_mail + ">";
}
return result1;
}
У нас АД ведёт педантичный админ, он не ошибётся :) потом у нас с ним договорённость о названиях. А потом не хочется писать программу, проверяющуя все склонения и орфографические ошибки. Проще на пользователя ответственность повесить. Хотя, в крайнем случае можно завести справочник должностей, принудить пользоваться копипастингом при заполнении, и периодически автоматом проверять АД на соответствие справочнику
|
Время: 15:22.
© OSzone.net 2001-