Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Программное управление ADSI: WinNT


Иван Коробко

В предыдущей статье были рассмотрены теоретические аспекты построения Active Directory и проведен обзор доступных провайдеров, с помощью которых можно программно управлять Active Directory. Одним из таких провайдеров является WinNT, основы программирования которого будут рассмотрены в данной статье.

Объектная модель провайдера WinNT

Рассмотрим программное управление ADSI с помощью провайдера WinNT, с помощью которого осуществляется доступ к классам. Каждый класс содержит один или несколько подклассов. Объектная модель протокола WinNT, в которой перечислены только классы, приведена на рисунке 1.

Рисунок 1

Доступ к объектам по протоколу WinNT описывается запросом, имеющим вид:

WinNT:[//DomainName[/ComputerName[/ObjectName[,ClassName]]]]

 

Доступ к провайдеру WinNT осуществляется по одному из шаблонов:

1) Название класса содержится в запросе. С помощью функции GetObject формируется запрос, который включает в себя четыре параметра: название протокола – WinNT, имя домена – DomainName, рабочей станции – ComputerName, название объекта – ObjectName, название класса – ClassName. В этом случае доступ к подклассам осуществляется с помощью цикла For. На VBScript в общем виде запрос выглядит следующим образом:

 

Пример 1а)

 

Set obj=GetObject("WinNT://" & DomainName & "/" & ComputerName & "/" & ObjectName & "," &  ClassName).

For Each element In obj

element.value

Next

 

    Параметры ComputerName и ObjectName могут отсутствовать в том случае, если осуществляется поиск объектов.

2) Подключение к классу с помощью фильтра. Метод по своей сути аналогичен предыдущему. Такой способ доступа к данным позволяет значительно увеличить скорость исполнения скрипта.

 

Пример 1б)

 

Set obj = GetObject("WinNT://" & DomainName)

obj.Filter = Array("user")

For Each element In obj

element.value

Next

Приведем два примера: в первом примере будет осуществляться поиск объектов класса и вывод свойств этих объектов, во втором – чтение и вывод свойств заданного объекта. В первом примере с помощью скрипта на VBScript будут определены учетные записи пользователей домена и прочитаны их имена:

Пример 2а). Первый способ доступа к объектной модели

 

strDomain="MyDomain"

    Set Computer =GetObject("WinNT://" & strDomain & ",user")

           For Each User in Computer

           users_d=users_d & "  "& User.Name  & chr(13)

           Next

Wsh.Echo users_d

 

Пример 2б) Второй способ  доступа к объектной модели

 

strDomain="MyDomain"

    Set Computer =GetObject("WinNT://" & strDomain)

    Computer.Filter = Array("user")

           For Each User in Computer

           users_d=users_d & "  "& User.Name  & chr(13)

           Next

Wsh.Echo users_d

Во втором примере явным образом задается имя пользователя и осуществляется чтение его свойств:

Пример 3a). Первый способ  доступа к объектной модели

 

strDomain="MyDomain"

strUser="MyUserName"

    Set Computer =GetObject("WinNT://" & strDomain & "/" & strUser & ",user")

           users_d= User.Name & chr(13)

Wsh.Echo users_d

 

Пример 3б). Второй способ доступа к объектной модели

 

strDomain="MyDomain"

    Set Computer =GetObject("WinNT://" & strDomain)


ОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100