Sccm установка драйверов принтера
Драйверы устройств Windows, импортированные в каталог драйверов, можно добавить к одному или нескольким образам загрузки. В образы загрузки следует добавлять только драйверы запоминающих устройств и сетевых адаптеров, поскольку другие типы драйверов для работы не требуются и увеличивают размер образа загрузки. Следует добавлять только драйверы устройств, предназначенные для Windows Vista, поскольку версия среды предустановки Windows основана на Windows Vista.
Примечание |
---|
Добавление драйверов устройств в образ загрузки может повысить требования к запоминающим устройствам, предназначенным для его хранения. Добавляйте в образ загрузки только те драйверы устройств, которые действительно необходимы. Если требования к запоминающему устройству для хранения образа загрузки превысят объем доступной памяти на конечном компьютере, то при развертывании произойдет сбой. |
Рекомендуется добавлять в образ загрузки только драйверы запоминающих устройств и сетевых адаптеров, чтобы размер образа не стал слишком большим. Однако в некоторых случаях может потребоваться выборочная установка драйверов устройств в образ загрузки. На шаге выполнения последовательности задач Автоматическое применение драйверов будет произведен поиск устройств, имеющихся на компьютере, и установка соответствующих драйверов. Для обращения к многофункциональным или дочерним устройствам, для которых еще не установлены драйверы, может потребоваться добавить в образ загрузки дополнительные драйверы, которые позволят обнаружить эти устройства.
Для добавления драйверов устройств в один или несколько образов загрузки воспользуйтесь следующей процедурой.
Добавление драйверов устройств в образ загрузки
В консоли Configuration Manager выберите раздел System Center Configuration Manager / База данных сайта / Управление компьютером / Развертывание операционной системы / Драйверы.
Чтобы добавить драйвер в образ загрузки, щелкните правой кнопкой мыши драйвер, который требуется добавить, и выберите команду Добавление и удаление драйверов в образы загрузки. Можно добавить выбранный драйвер, перетащив его на нужный образ или образы загрузки на узле Образы загрузки. Можно также добавить драйвер на вкладке Windows PE диалогового окна Свойства образа загрузки.
Примечание |
---|
Чтобы добавить несколько драйверов в образ загрузки, выделите драйверы, которые требуется добавить, щелкните правой кнопкой мыши выделенные драйверы и выберите команду Добавление и удаление драйверов в образы загрузки из контекстного меню. |
В диалоговом окне Добавление и удаление драйверов в образы загрузки укажите образ или образы загрузки, в которые требуется добавить драйвер или драйверы. Чтобы выбрать все имеющиеся образы загрузки, нажмите кнопку Выбрать все.
Чтобы немедленно обновить все точки распространения, выберите пункт Обновить точки распространения по завершении. Чтобы обновить точки распространения позднее, щелкните правой кнопкой мыши узел Точка распространения под образом загрузки, который требуется обновить, и выберите команду Обновить точки распространения. Компьютеры не смогут получить доступ к образам загрузки с добавленными драйверами до тех пор, пока они не будут обновлены на точках распространения.
Готовые VBS скрипты для управления принтерами в Windows
Для управления принтерами Microsoft разработала несколько vbs скриптов, позволяющих управлять принтерами и очередями печати, устанавливать и удалять драйвера принтеров и т.д.
Эти скрипты присутствуют во всех версиях Windows (начиная с Vista и Windows Server 2008) и находятся в каталоге C:\Windows\System32\Printing_Admin_Scripts\en-US.
- Вместо каталога en-US может быть другой каталог, соответствующий языку установленной системы. Для русской версии Windows это будет каталог ru-RU (полный путь C:\Windows\System32\Printing_Admin_Scripts\ru-RU);
- В Windows XP и Windows Server 2003 эти vbs скрипты хранятся в каталоге C:\WINDOWS\system32.
В каталоге находятся следующие vbs скрипты:
- Prncnfg.vbs – скрипт для отображения информации о настройках принтера;
- Prndrvr.vbs – управление драйверами принтеров (установка/удаление драйвера);
Рассмотрим типовые сценарии использования этих vbs скриптов.
Установка драйвера принтера из командной строки
Предположим, вам необходимо установить на компьютере пользователя универсальный драйвер печати HP (HP Universal Printer Driver). Скачайте соответствующую версию драйвера с сайта производителя и распакуйте его в произвольный каталог (например, C:\drv\HP Universal Print Driver).
Установим драйвер принтера командой:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -a -m "HP Universal Printing PCL 6" -i "C:\drv\HP Universal Print Driver\hpcu160u.inf"
Рассмотрим параметры команды:
-а – добавить драйвер принтера;
-m "HP Universal Printing PCL 6" – имя драйвера принтера;
-i “путь” – полный путь к inf файлу драйвера.
После установки драйвера печати, он появится в свойствах сервера печати (Control Panel\Hardware and Sound\Devices and Printers ->Print Server Properties).
Установка нового принтера из командной строки
С помощью следующей команды можно установить новый принтер с именем HP5525, воспользовавшись ранее установленным драйвером печати HP Universal Printing PCL 6:
-a – устанавливается новый локальный принтер;
-p "HP5525" – отображаемое имя принтера;
-m "HP Universal Printing PCL 6" – используемый драйвер печати;
Управление принтером по-умолчанию
Из командной строки вы можете выбрать какой принтер должен использоваться при печати по умолчанию. С помощью следующей команды можно вывести список всех доступных принтеров:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" –l
Текущий принтер по-умолчанию можно получить так:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" –g
Принтер по умолчанию HP Universal Printing PCL 6
Чтобы выбрать другой принтер для печати по умолчаню, выполните:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -t –р "HP5525"
Создаем TCP/IP порт для сетевого принтера
Если вы хотите подключить сетевой принтер, необходимо сначала создать для него сетевой порт (допустим ip адрес принтера 192.168.10.26):
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\Prnport.vbs" -a -r IP_192.168.10.26 -h 192.168.10.26 -o raw -n 9100
-r IP_192.168.10.26 – имя сетевого порта;
-h 192.168.10.26 – IP адрес устройства;
-o raw – тип порта (raw или lpr);
А потом установим в системе новый сетевой принтер:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r "IP_192.168.10.26"
После окончания работы скрипта в системе появится новый принтер с именем HP5525
Отправка на печать тестовой страницы
Управление очередями печати из командной строки
С помощью скрипта prnjobs.vbs вы можете просматривать задания печати в очередях. Чтобы вывести все задания печати для всех локальных принетров, выполните команду:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” –l
Чтобы вывести задания на конкретном принтере, нужно указать его имя:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” –l –p HP5525
Для очистки очереди печати, на одном принтере выполните команду:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” –x –p HP5525
Либо можно быстро очистить все очереди для всех принтеров (так гораздо удобнее, чем вручную очищать очередь печати):
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” –x
Включить общий доступ к принтеру из командной строки
Все новые принтеры, которое вы установили в Windows из командной строки являются локальными. Вы можете предоставить к ним общий доступ другим пользователей из графического интерфейса Windows (см. статью). Также вы можете открыть общий доступ к принетру из командной строки. Например, вы хотите дать доступ к своему общему принтеру HP5525, опубликовав его под именем HP5525_Shared. Используйте команду:
script "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs” -t -p HP5525 -h "HP5525_Shared" +shared
Чтобы отключить общий доступ к принтеру, выполните:
script "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs” -t -p "HP5525" -shared
Аналогично вы можете опубликовать принтер в Active Directory:
script "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs” -t -p HP5525 +published
Чтобы отменить публикацию в AD для принтера, используйте аргумент «-published».
Как подключить сетевой принтер из командной строки
Чтобы подключить сетевой принтер, подключенный к другому компьютеру, используйте
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -ac -p “\\prnt01\hp2000”
Удаление принтера и драйвера печати из командной строки
Полный список принетров в системе можно вывести так:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l
Удалить принтер можно командой:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "HP5525"
Драйвер печати удаляется так:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -d -m "HP Universal Printing PCL 6" -e "Windows x64" -v 3
В этой статье мы рассмотрели базовые операции со старыми-добрыми vbs-скриптами Microsoft, позволяющими управлять принтерами и их драйверами из командной строки в различных версиях Windows. Полный список возможностей и аргументов этих скриптов доступен в документации Microsoft или во встроенной в сами сценарии помощи (просто запустите в командной строке файл сценария без параметров).
В следующей статье мы познакомимся с новыми возможностями управления принтерами в Windows 10 / 8.1 и Windows Server 2016 / 2012 R2, которые предоставляет PowerShell.
Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере Microsoft.
Подробности под катом.
Вместо Intro
Наверняка, почти каждый системный администратор, работающий с Windows и, в частности, с терминальным сервером, сталкивался с проблемами печати.
Разрывается телефон, у всех одна и та же проблема: «Нажимаю на печать — ничего не происходит!». Идем смотреть логи и видим следующую картину:
Причины и решения
Итак, из-за чего может происходить подобная ситуация? Большую часть подобных ситуаций вызывают установленные на сервере драйверы.
- Необходимо помнить, что драйверы у клиентов и на сервере должны быть идентичны
- Убедитесь, что включена изоляция драйверов
- Удалите все драйвера на сервере и попробуйте использовать TS Easy Print
- Попробуйте решения сторонних компаний
А теперь пройдемся подробнее по всем пунктам. Для начала установим на наш терминальный сервер роль «Службы печати и документов».
Это позволит нам удобно управлять драйверами и принтерами, установленными в системе.
Идентичные драйвера
Думаю, тут особо не о чем рассказывать. Стоит помнить, что драйвера необходимо брать с официальных страниц изготовителя принтера. Так же еще один момент — стабильнее всего ведут себя PCL5. Если есть возможность выбора между PCL5 и PCL6 — стоит установить PCL5 (соответственно, серверу и клиенту).
Изоляция драйверов
В Windows 2008 появилась замечательная возможность изоляции драйверов принтера. Теперь драйвер принтера подгружается не Spoolsv.exe а специальным процессом PrintIsolationHost.exe. При «вылетании» драйвера принтера «слетает» только один экземпляр PrintIsolationHost.exe, а сама служба «Диспетчера печати» остается работоспособной, что, как понимаете, весьма влияет на настроение пользователей ;)
Чтобы включить данную возможность, нам необходимо открыть редактор локальной групповой политики (gpedit.msc) и пройти следующим путем: «Параметры компьютера -> Административные шаблоны -> Принтеры». Находим и включаем следующие пункты:
- Выполнить драйверы принтеров в изолированных процессах
- Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати
TS Easy Print
Видимо, вняв наконец стенаниям системных администраторов, компания Microsoft решила что-то сделать с необходимостью ставить зоопарк драйверов на терминальный сервер и падающим из-за этого spoolsv.exe. В итоге, на свет родилась технология TS Easy Print. Ключевой особенностью является, то, что больше нам не нужно устанавливать на сервер драйвера для каждого принтера — вместо этого используется унифицированный драйвер Remote Desktop Easy Print, соответственно, мы уходим от проблемы падающего спулера — ведь все операции с печатью выполняются на компьютере клиента.
Для того, чтобы явно определить, что мы хотим использовать на терминальном сервере TS Easy Print, необходимо пройти опять же в редактор локальной групповой политики (gpedit.msc) по следующему пути: «Параметры компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров». Нас интересуют следующие пункты, которые надо включить:
- Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола
- Перенаправлять только используемый по умолчанию принтер клиента
Далее, необходимо очистить наш сервер от лишних драйверов принтеров. Это можно сделать в менеджере роли «Службы печати и документов».
Внимательно удаляйте драйвера! Необходимо оставить в живых такие вещи, как «Remote Desktop Easy Print» и «Microsoft XPS Document Writer». Именно они и отвечают за передачу печати на клиента.
Решения сторонних компаний
Избавиться от проблемы падающего спулера призваны такое ПО как, например, ScrewDrivers (сайт). Оно предоставляет клиент-серверную архитектуру.
Сервер ScrewDrivers — это компонент, который необходимо установить на серверы, на которых планируется использовать печать в терминальном сеансе. Клиент ScrewDrivers должен быть установлен на рабочих станциях. Именно этот компонент позволяет создать на терминальном сервере виртуальные принтеры, которые соответствуют локальным принтерам пользователя.
В целом, напоминает Easy Print, но не бесплатно (впрочем, есть лекарства ;).
Пожалуй, одним из основных плюсов, при использовании OSD SCCM 2007, является возможность хранить драйвера устройств вне файла WIM. Таким образом, во-первых, уменьшается размер образа WIM, а во-вторых, мы существенно снижаем количество необходимых файлов.
Чтобы Configuration Manager 2007 мог работать с драйверами, необходимо вначале внести их в базу драйверов. Сделать это можно через консоль администрирования Configuration Manager Console: Site Database –Computer management – Operation system deployment – Drivers – Import. Для удобства администрирования вы можете создавать в структуре Drivers обычные папки или папки поиска. Если с режимом обычной папки, я думаю, вопросов не возникнет, то режим папки поиска (Search folder) - это хорошо известные нам еще по WSUS виртуальные папки, которые динамически формируют свое содержимое в зависимости от заданных в настройках условий. Например, все драйвера, название которых содержит слово «Intel». Это было небольшое лирическое отступление.
Импорт драйверов
Итак, для того чтобы добавить драйвер в базу SCCM выбираем пункт «Import» и в появившемся мастере выбираем способ добавления драйверов «Импортировать все драйверы из следующего сетевого папки» (Import all drivers in the following network path (UNC)). Второй доступный вариант позволяет выбрать отдельный файл драйвера. Естественно добавлять мы можем файлы либо в формате inf либо в формате txtsetup.oem.
После нажатия клавиши Next SCCM 2007 произведет поиск доступных файлов описания драйверов в папке и выведет их список. При это вы можете исключить не нужные драйверы, снимая галочки с записей.
Также вы можете задать категорию драйверов. Применение категорий драйверов значительно облегчает их поиск и применение в Task Sequence, это скорее инструмент фильтрации. Именно категориями драйверов вы будете оперировать в шаге «Автоматическое применение драйверов « (Auto Apply Driver) Task Sequence. Чтобы задать категорию нажмите кнопку Categories и в появившемся окне либо отметьте уже существующие категории, либо создайте новые. Способ фильтрации и соответственно разбития категорий зависит только от вас. Это может быть деление на драйвера:
- сертифицированные для работы с Windows и тестовые драйвера от производителя
- драйвера по производителям компьютеров
- по типам оборудования
На следующем шаге нам необходимо выбрать пакет, в который будут входить данные драйвера. Все драйвера должны входить в пакеты и быть распространенными на точках обновления для того чтобы клиент мог их установить входе развертывания ОС. К созданию пакетов драйверов стоит подходить более ответственно, чем к созданию категорий.
Чем отличаются пункты Apply Drive Package и Auto Apply Drivers в Task Sequence?
Apply Drive Package копирует все драйверы пакета на клиент, вне зависимости от того, нужны они клиенту или нет. Когда их следует применять:
- оборудование еще не подключено к компьютеру (например, принтеры);
- устройство не поддерживает PnP;
- драйверы контроллеров дисков, при развертывании систем с ядром ниже NT 6;
- когда необходимо установить на клиента определенный драйвер, а не лучший, по мнению Windows;
- если у нас очень большая база драйверов, то используя пакеты драйверов для определенных моделей компьютеров (например ноутбуков) мы уменьшаем время установки ОС за счет отказа от поиска по всей базе драйверов;
Напомню, что драйверы должны обязательно входить в какой-либо пакет. Если существующие пакеты вас не устраивают, можно создать новый пакет, нажав на кнопку «New Package».
В появившемся окне задаем имя и комментарий к пакету, а так же сетевой путь, в который будет содержать файлы драйверов.
После нажатия кнопки OK пакет драйверов появится в окне выбора и будет отмечен галочкой. Не забывайте обновлять пакеты драйверов на точке распространения!
На следующем шаге мастера мы можем добавить драйвера к загрузочному образу Windows PE. Чаше всего такая необходимость возникает, когда на клиенте установлена сетевая карта, которая не поддерживает стандартные драйвера WinPE, либо когда необходимо указать драйверы для контроллера дисков. Не стоит увлекаться и добавлять драйвера к загрузочным образам просто на всякий случай. Любое добавление драйверов увеличивает объем памяти, который будет занимать среда Windows PE на клиенте.
Как увидеть драйвера которые входят в состав загрузочного образа?
В консоли администрирования Site Database –Computer management – Operation system deployment - Boot перейдите к интересующему вас образу и нажмите кнопку свойства. На вкладке Windows PE вы увидите, какие драйвера будут использованы данным загрузочным образом. Сможете добавить или удалить необходимый драйвер.
После нажатия кнопки Next и просмотра итоговой страницы мы видим процесс добавления драйверов в базу.
Теперь драйвера добавлены в базу Configration Manager 2007 и отображаются в консоли администрирования. Выделив все или часть драйверов, мы можем отсортировать их по разным папкам.
При нажатии на правую кнопку мыши появляется контекстное меню, в котором мы можем выключить драйвер, добавить или удалить его из пакета или образа загрузки, а также перенести в другую папку. В данный момент нас интересует кнопка Свойства.
Самой интересной является вкладка Applicability. На ней задаются поддерживаемые платформы, а также модели оборудования, для которых применим данный драйвер.
Добавление драйверов в Task Sequence
После того как мы добавили драйвера в базу SCCM перейдем к тому, ради чего, собственно все и затевалось – к настройке Task Sequence.
Пункты работы с драйверами добавляются в Task Sequence через меню Add-Drivers
Рассмотрим добавление пакета драйверов. Выбор применяемого пакета доступен через кнопку Browse пункта Driver Package. Кроме того нам доступны два параметра, это выбор драйвера для контроллера дисков (Select the mass storage driver…) и поведение с неподписанными драйверами (Do unattended installation…).
Одной из «фишек» Task Sequence является возможность применять его пункты, только когда они соответствуют определенному условию. Например, в случае с драйверами мы можем указать несколько пакетов, и WMI запрос, который будет проверять, соответствует ли компьютер определенному критерию - производитель или модель материнской платы.
При выборе автоматической установки драйверов, мы можем указать для поиска всю базу или только определенные категории. Кроме того, доступен выбор установки всех драйверов или только совместимых, а также поведение при работе с неподписанными драйверами.
Разное & Полезности
Откуда брать драйвера:
Сайты производителей оборудования;
Диски, поставляемые с оборудованием;
Важно! Источник драйверов должен быть доверенным! Если в драйвер будет внедрен вредоносный код, то исполнятся он будет с правами системы, и вылечить такую машину потом будет очень сложно.
Как определиться, какие драйвера необходимы
Инвентаризация аппаратной части и отчеты в SCCM. Даже по базовым отчетам можно легко составить список оборудования которое применяется в вашей организации и соответсвенно определиться с необходимыми драйверами.
Для начала попробуйте понаблюдать, что происходит при запуске приложения. Возможно, инсталлятор производит распаковку файлов во временный каталог, и уже оттуда запускается установка драйверов. Используйте ProcessMonitor для слежения.
Второй вариант, установка таких драйверов через распространение программ (Software deployment) в SCCM. Многие приложения поддерживают ключи автоматической установки: /q /s /nq. Создавайте обычный пакет установки приложения, и ставьте драйвер через него.
Рассмотрим один из способов учёта TCP-принтеров, выявим имеющихся неудобства, узнаем, какие для этого знания понадобятся системному администратору.
В наше время уже не предоставляется возможным работа фирмы без принтеров и множительно-копировальной техники. Ведь все мы привыкли в считанные секунды получать на бумаге нужные отчёты, акты и договора. Как и любое устройство, принтеры и копиры закреплены за материально ответственным лицом, а, следовательно, они также подлежат инвентаризации. Процесс инвентаризации компьютеров является тривиальным за счёт использования клиент-серверных программ с автоматическим сбором информации (GLPI+OCS Inventory, MS SCCM). Однако отсутствие клиентской части в случае печатающих устройств, приводит к тому, что учет усложняется, а, значит, уточнение количества и месторасположение оргтехники происходит не так уж легко и быстро. Для решения этой задачи, было решено автоматизировать процесс с помощью ПО.
Требования: программа должна осуществлять быстрый сбор данных, отображать инвентарный номер, название отдела, пароль, иметь дружелюбный интерфейс и возможность внесения каких-то заметок, а также экспорт в MS Excel и печать.
По ходу было протестировано несколько платных и бесплатных утилит (O&K Print Watch, SNMP Discovery, PrinterAdmin Print Job Manager, PrintMonitor Pro). Оказалось, что все они основываются на опросе печатающих устройств по SNMP-протоколу и целью их является контроль расходных материалов и мониторинг работы печатающей техники, поля для редактирования отсутствуют. В результате был выбран вариант с использованием продуктов MS Configuration Manager, MS SQL Server и ExtJs. В том числе и потому, что они уже установлены и активно используются в нашей компании.
Рассмотрим дополнительные шаги по настройке нескольких продуктов и написанию небольшого программного кода, которые дают нам удобство по автоматическому опросу сервера печати, удобному отображению полученной информации и её редактированию, отображению в браузере наглядного списка всех сетевых принтеров и их месторасположение, сортировки их по IP-адресу, названию, отделу, номеру кабинета, перехода на веб-интерфейс устройства, экспорта и вывода на печать.
Централизованное управление принтерами
Затем инсталлируем все сетевые принтеры на этот сервер. При этом рекомендуется для принтеров давать понятные имена, например, в виде <отдел>-<модель устройства>-<номер кабинета>, buh-canon4500-333.
После выполнения этих операций, консоль PrintManagement (Управление принтерами) будет иметь список сетевых принтеров и их состояний, версию драйверов и количество документов в очереди печати (см. рис. 1). Но тут имеем одно неудобство – IP-адреса печатающих устройств сразу не видны, для их просмотра нужно заходить в Properties (Свойства) принтера и вкладку Ports (Порты), то есть выполнять дополнительных 2 действия. Ещё один минус – это отсутствие отображения MAC-адресов.
Рисунок 1. Список сетевых принтеров.
Настройка Configuration Manager
Устанавливаем клиентскую часть SCCM на сервер печати для его дальнейшего опроса. Затем в SCCM-сервере заходим в раздел Administration -> Overview -> Client Settings, вызываем Default Client Settings, находим пункт Hardware Inventory и жмём кнопку Set Classes. В появившемся окне активируем галочки Print Jobs, Printer Device (см. рис. 2), которые как раз и способствуют появлению новых таблиц в БД для хранения собираемой информации.
Рисунок 2. Активация таблиц
Отобразить полученную информацию не так уж и трудно. Первый вариант – не требует каких-либо дополнительных знаний - это встроенные в SCCM-сервер отчёты. Второй – немного сложнее – отображение списка с помощью сторонних средств разработки, для которого понадобятся хотя бы базовые знания языка программирования. В нашем случае подходит последний вариант, потому как имеются ещё редактируемые данные, такие как инвентарный номер, название отдела, номер кабинета, пароль принтеров, описание, а с отчётами таких операций проделать нельзя.
Действия по установке, настройке и связке используемых продуктов уже описывались, рассмотрим только дополнительные манипуляции.
Работа с базой данных SCCM
После активации галочек в SCCM-сервере в БД появляются соответствующие таблицы: dbo.PRINT_JOB_DATA (содержит информацию относительно очереди печати), dbo.PRINTER_DEVICE_DATA (включает в себя данные о принтере).
Но при выводе состояния принтера, возникла путаница, потому как информация в некоторых полях записывается не в том виде, как хотелось бы, много полей имеют в названии слово “Status”. Например, в таблице dbo.PRINT_JOB_DATA в поле JobStatus00 значения “Ready” (Готов) или “Offline” (Оффлайн) отсутствуют, а вместо них “NULL” и “UNKNOWN”, также ещё встречается “Degraded”.
Пришлось сопоставлять содержимое “статусных” полей с реальными состояниями принтеров в консоли PrintManagement и выявить следующее соответствие: Error – Ошибка, Degraded – Оффлайн, Unknown – Готов. Среди большого перечня полей из таблицы dbo. PRINTER_DEVICE_DATA нам понадобятся следующие:
MachineID – порядковый номер компьютера;
PortName00 – IP-адрес печатающего устройства;
Name00 – имя печатающего устройства;
Status00 – состояние печатающего устройства.
ОС Windows Server 2008 (как и 2008R2) не поддерживает командлет Get-Printer, с помощью которого PowerShеll в Windows Server 2012 выводит список принтеров с состояниями Ready, Offline, Error. В моём случае SCCM-сервер и сервер печати как раз и развёрнуты на системе 2008 года.
И ещё один момент, SCCM не предоставляет данные в реальном времени, поэтому и не стоит придавать большое значение состояниям устройств. Вывод значений этого поля полезно, но лучше обращать на них внимание спустя некоторое время. Конечно, можно увеличить частоту опроса клиентов, но при этом и трафик сети увеличится.
Далее для редактируемых данных необходимо создать в какой-то таблице соответствующие поля: [Inv Nom] типа nvarchar(50), Department типа nvarchar(50), Password типа nvarchar(50), [Nom Kab] типа nvarchar(4), Description типа nvarchar(MAX). После этого переходим к этапу написания простейшего SQL-запроса на выборку, где MachineID = 16777769 соответствует серверу печати.
SELECT DISTINCT MachineID, PortName00, Name00, Status00, [Nom Kab], [Inv Nom], Password, Department, Description
WHERE MachineID = 16777769
При необходимости можно отобразить гораздо больше информации об устройстве, например, DriverName00 (версию драйвера), DefaultPriority00 (приоритет), Location00 (место расположения), InstallDate00 (дату установки), PrintProcessor00 (процессор), PrintJobDataType00 (формат передачи данных) и многое другое. Если подключить ещё таблицу dbo.PRINT_JOB_DATA, то в качестве полезной информации, особенно в случае сбоя, будет вывод данных полей Status00 (состояние очереди), Document00 (названия документа) и Owner00 (логин владельца).
Работа с PHP
Работа с веб-приложениями требует наличие настроенного веб-сервера c поддержкой PHP и СУБД - Apache+PHP+MySQL на ОС Linux или IIS+MS SQL Server на Windows. В нашей компании используется первый вариант, потому вопрос о выборе веб-сервера передо мной не стоял.
Применение PHP нам нужно для осуществления связи между веб-таблицей и базой данных, потому как коннектор (Jason) в ExtJs не умеет соединяться с БД напрямую. Подробнее о настройке коннекторов можно прочитать в статье [].
Читайте также: