Атрибуты объектов в Active Directory
Написал справочник Внутренних телефонов компании, и посыпались вопросы: "а как, а где"… Вот и решил выложить небольшой скриптик, который во многом объясняет структуру AD. Распросраняется "AS IS", ни за чё не отвечаю…
- Описание
- Подробнее
Описание
Перем мТипы;
Процедура КнопкаВыполнитьНажатие(Кнопка)
АДОКоннектор = Новый COMОбъект(«ADODB.Connection»);
АДОКоннектор.ConnectionString = «Provider=»»ADsDSOObject»»»;
АДОКоннектор.Open();
КореньDSE = ПолучитьCOMОбъект(«LDAP://RootDSE«);
ДоменDNS = КореньDSE.Get(«defaultNamingContext»);
ТекстЗапроса = «select AdsPath from ‘LDAP://»+ДоменDNS+»‘»;
ВыборкаАДО = АДОКоннектор.Execute(ТекстЗапроса);
Пока НЕ ВыборкаАДО.EOF Цикл
ПутьОбъекта = ВыборкаАДО.Fields(«AdsPath»).Value;
Сообщить(«Объект: » + ПутьОбъекта);
Сообщить(«—————«);
Попытка
СписокАтрибутов = ПолучитьCOMОбъект(ПутьОбъекта);
СписокАтрибутов.GetInfo();
КоличествоАтрибутов = СписокАтрибутов.PropertyCount;
Для инд = 0 По КоличествоАтрибутов — 1 Цикл
Атрибут = СписокАтрибутов.item(инд);
Сообщить(«Значения атрибута: «+ Атрибут.Name+»:»);
Для Каждого Значение Из Атрибут.Values Цикл
ТекстЗначения = Значение.GetObjectProperty(Значение.ADsType);
ТипЗначения = мТипы[Значение.ADsType];
Сообщить(ТипЗначения + «: «+ТекстЗначения);
ОбработкаПрерыванияПользователя();
КонецЦикла;
Сообщить(Символы.ПС);
КонецЦикла;
Исключение
Сообщить(«»);
КонецПопытки;
ВыборкаАДО.MoveNext();
КонецЦикла;
ВыборкаАДО.Close();
АДОКоннектор.Close();
КонецПроцедуры
мТипы = Новый Соответствие;
мТипы.Вставить(0, «ADSTYPE_INVALID»);
мТипы.Вставить(1, «ADSTYPE_DN_STRING»);
мТипы.Вставить(2, «ADSTYPE_CASE_EXACT_STRING»);
мТипы.Вставить(3, «ADSTYPE_CASE_IGNORE_STRING»);
мТипы.Вставить(4, «ADSTYPE_PRINTABLE_STRING»);
мТипы.Вставить(5, «ADSTYPE_NUMERIC_STRING»);
мТипы.Вставить(6, «ADSTYPE_BOOLEAN»);
мТипы.Вставить(7, «ADSTYPE_INTEGER»);
мТипы.Вставить(8, «ADSTYPE_OCTET_STRING»);
мТипы.Вставить(9, «ADSTYPE_UTC_TIME»);
мТипы.Вставить(10, «ADSTYPE_LARGE_INTEGER»);
мТипы.Вставить(11, «ADSTYPE_PROV_SPECIFIC»);
мТипы.Вставить(12, «ADSTYPE_OBJECT_CLASS»);
мТипы.Вставить(13, «ADSTYPE_CASEIGNORE_LIST»);
мТипы.Вставить(14, «ADSTYPE_OCTET_LIST»);
мТипы.Вставить(15, «ADSTYPE_PATH»);
мТипы.Вставить(16, «ADSTYPE_POSTALADDRESS»);
мТипы.Вставить(17, «ADSTYPE_TIMESTAMP»);
мТипы.Вставить(18, «ADSTYPE_BACKLINK»);
мТипы.Вставить(19, «ADSTYPE_TYPEDNAME»);
мТипы.Вставить(20, «ADSTYPE_HOLD»);
мТипы.Вставить(21, «ADSTYPE_NETADDRESS»);
мТипы.Вставить(22, «ADSTYPE_REPLICAPOINTER»);
мТипы.Вставить(23, «ADSTYPE_FAXNUMBER»);
мТипы.Вставить(24, «ADSTYPE_EMAIL»);
мТипы.Вставить(25, «ADSTYPE_NT_SECURITY_DESCRIPTOR»);
мТипы.Вставить(26, «ADSTYPE_UNKNOWN»);
мТипы.Вставить(27, «ADSTYPE_DN_WITH_BINARY»);
мТипы.Вставить(28, «ADSTYPE_DN_WITH_STRING»);