From 166fc726eea9b8a432a24e13649dc5af4a1a9189 Mon Sep 17 00:00:00 2001 From: Maxim Lihachev Date: Sat, 14 Sep 2013 12:23:58 +0600 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=BE=D0=B2,=20=D0=BE=D0=BF=D1=83=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B2?= =?UTF-8?q?=20Active=20Directory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ldapAllPrinters.vbs | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 ldapAllPrinters.vbs diff --git a/ldapAllPrinters.vbs b/ldapAllPrinters.vbs new file mode 100755 index 0000000..7a486be --- /dev/null +++ b/ldapAllPrinters.vbs @@ -0,0 +1,59 @@ +' Создан: Пт 13 сен 2013 14:18:09 +' Изменён: Сб 14 сен 2013 12:23:26 +' +' (c) 2013, Maxim Lihachev, +' +' Получение всех принтеров, опубликованных в Active Directory +' + +Const ADS_SCOPE_SUBTREE = 2 + +' Подключение к AD +Set objConnection = CreateObject("ADODB.Connection") +Set objCommand = CreateObject("ADODB.Command") + +objConnection.Provider = "ADsDSOObject" +objConnection.Open "Active Directory Provider" + +Set objCommand.ActiveConnection = objConnection + +' Запрос к LDAP +objCommand.CommandText = "Select printerName, serverName from " & " 'LDAP://DC=tkpt,DC=ru' where objectClass='printQueue'" +objCommand.Properties("Page Size") = 1000 +objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE + +Set objRecordSet = objCommand.Execute + +objRecordSet.MoveFirst + +' Форматированный вывод +Set objCmdLib = CreateObject("Microsoft.CmdLib") +Set objCmdLib.ScriptingHost = WScript.Application + +' Массив результирующих строк +Dim arrResultsArray() + +' Начальная строка +tableRow = 0 + +' Формат вывода данных +arrHeader = Array("Printer name", "Server") +arrMaxLength = Array(35, 35) +strFormat = "Table" +blnPrintHeader = True +arrBlnHide = Array(False, False) +strComputer = "." + +Do Until objRecordSet.EOF + ' Добавление элемента в массив + ReDim Preserve arrResultsArray(tableRow) + info = Array(objRecordSet.Fields("printerName").Value, objRecordSet.Fields("serverName").Value) + arrResultsArray(tableRow) = info + tableRow = tableRow + 1 + + objRecordSet.MoveNext +Loop + +' Вывод таблицы данных +objCmdLib.ShowResults arrHeader, arrResultsArray, arrMaxLength, strFormat, blnPrintHeader, arrBlnHide +