Driver isolation что это
Что такое сервер печати
Как вы понимаете это сервер или виртуальная машина, на которой стоит роль и с помощью нее идет централизованное администрирование и распространение принтеров на устройства и пользователей в локальной сети. Ниже представлен пример, как это выглядит.
Как решить проблемы подсистемы печати в терминальном сервере
Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере 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, но не бесплатно (впрочем, есть лекарства ;).
Сервер печати windows server 2012
Приступим к настройке, делать я это буду на контроллере домена так как данный функционал совсем не нагружает сервак, первым делом вам необходимо открыть Диспетчер сервера и в правом верхнем углу нажать Управление > Добавить роли и компоненты, в 2012 да и в 2008 r2, все ставилось через данные мастера.
У вас откроется мастер добавления ролей и компонентов, на первом окне можете ничего не читать, там одна вода, жмем далее.
Оставляем выбор на Установка ролей и компонентов, так как мы будем ставить на один сервак
Выбираем сервер для инсталляции.
ставим галку на против Слыжбы печати и документов и жмем далее.
Дополнительных компонентов ставить не нужно, так что этот шаг просто пропускаем.
На этом шаге мастер вам расскажет более подробно про сервер сетевой печати, если интересно, то почитайте.
Теперь у вас на выбор будет 4 галки
- Сервер печати > ее выбирает, так как наша роль
- Печать через интернет > тут как бы все понятно из названия
- Сервер распределенного сканирования
- Службы LPD > Для Linux платформ
Все жмем установить.
Процесс довольно таки быстрый.
Обратите внимание, что по завершению вас не попросят перезагружаться.
все роль установилась, открываем Средства в диспетчере сервера и далее Управление печатью.
Продолжаем делать наш сервер печати windows server 2012. В открывшейся оснастке mmc откройте Серверы печати > далее ваш > Принтеры. Как видите у вас только стандартный Microsoft XPS принтер. Логично, что вам нужно поставить все ваши сетевые принтеры. У меня в сети настроена пачка сетевых принтеров HP LaserJet 400 MFP M425dn
Открываем панель управления > Устройства и принтеры. Жмем вверху Добавление принтера.
В открывшемся окне, будет произведен поиск доступных принтеров в Active directory. если у вас ничего не нашло, то жмем Нужный принтер отсутствует в списке.
Теперь настройка сервера печати windows попросит вас добавить локальный или сетевой принтер от имени администратора.
Выбираем добавить принтер по его TCP/IP адресу или имени. Советую всегда использовать dns имена и не привязываться к ip адресам.
- Тип устройства > Устройство TCP / IP
- Имя или Ip адрес > DNS имя
- Имя порта > что угодно понятное вам, у меня это расположение в офисе
Теперь будет произведена установка драйвера, можете поставить свой, но мне достаточно было использовать рекомендуемый.
И зададим имя, по которому его смогут искать.
Указываем есть ли до него общий доступ или нет.
Вот так вот выглядит мой список,
Откройте теперь проводник и введите \\имя вашего сервера и вы получите список всех принтеров что на нем есть.
Щелкаем по любому из них двойным кликом и начнется установка.
Все как видите у меня появился нужный мне сетевой принтер.
в следующей статье я вам расскажу как эти принтеры можно назначить с помощью групповых политик, так как в ручную можно поставить когда требуется единовременно или одному человеку, а вот если мы говорим про отделы, то тут GP просто не заменима.
Как решить проблемы подсистемы печати в терминальном сервере
Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере 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, но не бесплатно (впрочем, есть лекарства ;).
> Перестает печатать принтер проброшенный через RDP.
Такое бывает когда некорректное задание вешает очередь печати.
Как постоянное - попробовать использовать screwdrivers либо другие альтернативные способы печати.
попробовала почистить C:\Windows\System32\spool\PRINTERSзапустила обратно диспетчер печати - ничего не поменялось.
При чем все принтеры сервера работают без проблем(подключенные к самому серверу по сети)
А 2 принтера Canon MF 4018 и Canon MF4410 не печатают. (перенесены по RDP).
Зато после перезагрузки сервера все работает, но не выкидывать же всех пользователей раз-два в день чтобы сервер перезагружать. Не знаю пока в какую сторону копать можно..Help..
Сталкивался с такой проблемой со стареньким принтером HP.
Решилось всё поднятием print сервера и подключением принтера через него.
Читайте также: