Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
$objCommand.CommandText = "SELECT printerName, serverName FROM " _ & " 'LDAP://"& $DomainName & "' WHERE objectClass='printQueue'"
$objCommand.Properties("Cache Results") = False
$objRecordSet = $objCommand.Execute
$objRecordSet.MoveFirst
Do Until $objRecordSet.EOF
$temp=$temp & "Printer Name: " & $objRecordSet.Fields("printerName").Value & " Server Name: " & $objRecordSet.Fields("serverName").Value & chr(13)
$objRecordSet.MoveNext
Loop
Messagebox($tem,"",0,0)
В приведенном примере осуществляется поиск всех зарегистрированных в AD принтеров. У найденных принтеров происходит чтение двух полей: название принтера и сервера печати.
Поиск объектов с помощью провайдера LDAP осуществляется по следующему шаблону:
n устанавливается соединение с Active Directory Provider через ADODB;
n составляется запрос;
n осуществляется поиск по заданным критериям.
В том случае если искомые объекты найдены, происходит чтение указанных в запросе полей. Результат выводится на экран. Объектами могут быть строки и массивы.
Следует отметить, что вместо названия свойства, которое необходимо прочитать, можно указать порядковый номер поля, под которым оно обозначено в запросе. Нумерация полей начинается с 0. Таким образом, основываясь на приведенном примере, вместо $objRecordSet.Fields(«server Name»).Value можно записать $objRecordSet.Fields(1).Value.
В файле отчета, по мнению автора статьи, следует размещать следующую информацию о пользователе: имя, отчество, подразделение, должность и телефон. Набор этих параметров может меняться в зависимости от специфики фирмы, в которой функционирует скрипт. Приведем пример, выполняющий чтение этих полей:
$objRoot = GetObject("LDAP://RootDSE")
$strDefaultDomainNC = $objRoot.Get("DefaultNamingContext")
$strGetArg=@userid ; определение имени пользователя.
$strADSQuery = "SELECT department, physicaldeliveryofficename, telephonenumber, title FROM 'LDAP:// " + $strDefaultDomainNC + "' WHERE samAccountName = '" + $strGetArg + "'"
$objADOConn = createObject("ADODB.Connection")
$objADOConn.Provider = "ADsDSOObject"
$objADoConn.Open ("Active Directory Provider")
$objADOCommand = CreateObject("ADODB.Command")