Запрос Active Directory для имени пользователя, имени, фамилии и электронной почты

Простите мое незнание, я не знаю много о AD (позвольте одиноким запросам с AD или поиску с помощью Google для этого). Я хотел бы получить список всех пользователей в конкретном домене, их имени, фамилии и почтовых идентификаторах. Был бы сетевой администратор (или справочная служба в моем случае) смочь сделать это? Моя другая опция: у Меня есть имена пользователей в листе Excel, Полное имя в другом текстовом файле (среди других данных - говорят XXXyy, FirstName LastName-, я должен был бы разделить, проанализировать его для извлечения имени) и электронная почта в другом файле и ни один из них не в порядке. Также могли бы быть некоторые недостающие данные :(

Каков был бы лучший способ пойти об этом с Запросами AD?

Править: Может быть я должен быть более конкретным. Если бы я видел то, что мой сетевой администратор сделал бы для получения меня эта информация, что он будет делать?

7
задан ram 18 December 2009 в 00:22
поделиться

2 ответа

Active Directory exposes query interface via OLE DB and ADO. The provider is "ADsDSOObject", the query syntax goes like this:

;(objectType=user);givenname,sn

Excel does not have a built-in ADO client, unless you code in VBA.

UPDATE: wrote a simple JavaScript query script for you:

var conn = new ActiveXObject("ADODB.Connection");
conn.Open("Provider=ADsDSOObject");
var rs = conn.Execute("<LDAP://DC=your-domain,DC=com>;(objectClass=user);sn,givenname");
var i;
if(!rs.EOF)
{
    rs.MoveFirst();
    while(!rs.EOF)
    {

        WScript.Echo(rs.Fields.Item("givenname")+","+rs.Fields.Item("sn")+"\n");
        rs.MoveNext();
    }
}

It queries the fiest and last name of all users in your domain. Place your domain name in the third line. Then save it as a .js file, and execute thusly:

cscript adquery.js >a.txt

And you'll end up with a text file called a.txt, with the names of your users, comma-separated. Import it into Excel or something.

4
ответ дан 7 December 2019 в 05:24
поделиться

If you're using the .NET platform, I would suggest looking into the System.DirectoryServices namespace, which "provides easy access to Active Directory Domain Services from managed code."

MSDN also provides code samples for performing common tasks using System.DirectoryServices, available in both VB and C#. If you're familiar with one of these languages, you should hopefully be able to glean what you need (at least to get started, and then perhaps be able to ask other, more specific questions here on SO) from these examples.

Hope this helps!

4
ответ дан 7 December 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: