Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] как узнать должность пользователя в AD

Ответить
Настройки темы
VBS/WSH/JS - [решено] как узнать должность пользователя в AD
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Народ, подскажите, как называется аттрибут "должность" по английски в схеме AD?
~либо~ как перечислить все атрибуты объекта AD?

Отправлено: 13:56, 23-04-2009

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


pva, а ты не смотрел программу WMI Code Creator ? В частности, через WMI классы (\root\CIMV2) и его методы Win32_UserAccount можно получить информацию. Программа создает код на VB script.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:12, 24-04-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


pva, если не ошибаюсь, атрибут называется Title
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:06, 25-04-2009 | #3

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Заработало!!!

Отправлено: 07:30, 27-04-2009 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


pva, приведи пример скрипта для истории

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 07:31, 27-04-2009 | #5

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


следующий код заполняет поле сообщения 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("Начальник Охраны"));
Человека поменяли, адрес поменяли, а робот - работает!
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:05, 27-04-2009 | #6


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


pva, может стоит модернизировать скрипт, точнее его текст
Код: Выделить весь код
where Title='" + job_position + "'"
Если в AD написать лишний пробел в начале или в конце должности, то скрипт не отработает. Может стоит сделать like ? и использовать * ?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 09:10, 27-04-2009 | #7

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


вариант с 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;
}
У нас АД ведёт педантичный админ, он не ошибётся потом у нас с ним договорённость о названиях. А потом не хочется писать программу, проверяющуя все склонения и орфографические ошибки. Проще на пользователя ответственность повесить. Хотя, в крайнем случае можно завести справочник должностей, принудить пользоваться копипастингом при заполнении, и периодически автоматом проверять АД на соответствие справочнику
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:08, 27-04-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] как узнать должность пользователя в AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Узнать ip адрес пользователя в терминале nicohack Microsoft Windows NT/2000/2003 20 12-12-2016 10:19
[решено] Узнать имя пользователя, от которого запущен процесс vitalisvv AutoIt 4 16-09-2009 01:16
Прочие БД - Как узнать имя пользователя в MS Access? st031 Программирование и базы данных 0 30-08-2009 18:24
Как узнать _полное_ имя пользователя? fantik Microsoft Windows NT/2000/2003 2 21-11-2006 18:13
Нужно узнать пароль удалённого пользователя ICQ SIM Защита компьютерных систем 22 03-01-2004 22:00




 
Переход