Меню Рубрики

Установка изоляции драйвера 2012

Как изолировать драйвер принтера в Windows 7, за минуту

Как изолировать драйвер принтера в Windows 7, за минуту

Добрый день! Уважаемые читатели и гости блога pyatilistnik.org. Принтеры самое капризное место в работе системного администратора, именно на них чаще всего жалуются рядовые пользователю, у которых как обычно все очень срочно, горят отчеты, или нужно распечатать КП, Падение службы диспетчера печати (он же spooler) вследствие ошибок в драйверах печати является существенной проблемой ОС семейства Windows. Проблема усугубляется тем, что ошибки с драйверами печати довольно трудно диагностировать, а выявление проблемного драйвера может стать головной болью для системного администратора. Самое плохое, что сбой драйвера печати принтера, загруженного в процесс очереди печати, вызывал сбой самого спулера, в результате в результате вся система печати сервера перестает работать, и эти последствия затрагивают большое количество пользователей и принтеров. Однако вместе с выходом Windows 2008 R2 и Windows 7, все эти проблемы должны остаться в прошлом, ведь в этих ОС появилась технология Printer Driver Isolation (Изоляции драйверов принтеров).

Что такое изоляция драйвера

Вот так вот, очень часто выглядит ошибка, когда происходит конфликт драйверов, на сервере печати.

Как следует из названия, технология Printer Driver Isolation (PDI) реализует изоляцию драйверов принтеров в отдельные процессы, отделенные от процесса диспетчера печати (spoolsv.exe). Поэтому, если случается любая ошибка в драйвере принтера, то она затрагивает только процесс, которые подгрузил этот драйвер, а не процесс spoolsv.exe, тем самым предотвращая его падение и улучшая надежность сервера печати. Кроме того, эта новая функция обеспечивает возможность изоляции новых версий драйверов с целью тестирования или отладки, а также возможность выявить сбойный драйвер.

Процесс, осуществляющий загрузку драйверов, которые должны работать изолированно от «Диспетчера Печати», называется PrintIsolationHost.exe.Существует три режима работы технологии изоляции драйверов:

  • None – Драйвера принтеров загружаются процессам диспетчера печати (spooler), т.е. в этом режиме система работает как обычно
  • Shared – Драйвера настроены на работу с одним общим экземпляром процесса PrintIsolationHost.exe, отделенного от процесса spoolsv.exe. Это режим работы по-умолчанию.
  • Isolated – Каждый драйвер принтера настроен на использование своего собственного экземпляра процесса PrintIsolationHost.exe.

Чтобы проверить, поддерживает ли драйвер принтера технологию PDI: перейдите в следующую ветку реестра.

  • 0: Драйвер не поддерживает PDI
  • 2: Драйвер принтера поддерживает PDI

Если же значение отсутствует, значит оно равно 0, и драйвер PDI не поддерживает, как в моем примере у HP LaserJet Professional M1212nf MFP, хочу отметить, что вендоры могу выпускать свежие драйвера, которые уже будут поддерживать изолирование драйвера в отдельном процессе, так что если в реестре Windows вы обнаружили значение «0», то попробуйте найти новую версию драйверов на ваш принтер.

Как изменить режим работы Printer Driver Isolation

Есть несколько способов настроить режим работы режима изоляции драйверов печати:

  • Конфигурация с помощью INF –файла драйвера печати, придется слегка поразбираться в синтаксисе
  • Консоль Print Management Console (PMC)
  • Групповые политики
  • INF файл драйвера печати

С помощью inf файла драйвера принтера можно определить, поддерживает ли драйвер PDI или нет. Этот inf файл содержит ключ DriverIsolation, который определяет поддержку PDI. Соответственно, если значение этого параметра 0, значит данный драйвер PDI не поддерживает.

По умолчанию все драйвера в Windows лежат в папке:

Консоль Print Management (PMC)

С помощью новой консоли управления принтерами (PMC) можно достаточно просто управлять изоляцией драйверов. Если открыть консоль «Управление печатью (PMC)» и перейти в раздел драйверов, то в правой панели можно увидеть список установленных в системе драйверов, а в колонке Driver Isolation будет отображаться режим работы PDI драйвера принтера.

Чтобы изменить режим работы драйвера, нужно щелкнуть правой кнопкой по нужному драйверу и выбрать опцию ‘Set Driver Isolation‘. Доступны следующие опции:

  • Нет
  • Общий доступ
  • Изолирован
  • По умолчанию отсутствует
Читайте также:  Установка гарант руль коробка

Примечания:
Опция «По умолчанию отсутствует (System Default)» – означает, что драйвер работает в соответствии со своими стандартными настройками или настройками групповой политики.
Также если групповая политика ‘Execute Print drivers in isolated processes’ отключена (Disabled), тогда режим изоляции PDI поменять не получится.

Как изолировать драйвер принтера в Windows 7-03

Групповые политики, позволяющие управлять изоляцией драйверов

Существует две настройки групповой политики, позволяющие настроить режим изоляции драйверов принтеров. Найти их можно в разделе:

  • Execute print drivers in isolated processes (Выполнять драйверы принтеров в изолированных процессах)

  • Override print driver execution compatibility setting reported by print driver (Переопределить параметр совместимости выполнения драйвера печати)
  • Политика: Execute print drivers in isolate processes

Настройки этой политики определяют будут ли драйвера принтера выполняться в одном или отдельных процессах. Если драйвера принтеров загружены изолированным процессом (или процессами), то любой сбой в драйвере печати не приведет к падению службы Print Spooler. В том случае если вы активировали или не настраивали данную политику, Диспетчер печати будет выполнять драйвера в изолированном процессе.

Если вы отключите данную политику, то драйвера принтеров будут исполняться в процессе диспетчера печати (как в версиях Windows XP/2003 и более ранних версиях ОС).
Политика: Override print driver execution compatibility setting reported by print driver

Политика определяет, должен ли Диспетчер печати переопределять режим работы PDI, заданный в драйвере принтера. Т.е. политика активирует выполнение драйверов в изолированном процессе, даже если драйвер принтера не совместим.

Если активировать эту политику, то спулер печати будет игнорировать флаг совместимости, заданный для драйвера принтера. Если отключить или не настраивать эту политику, print spooler будет использовать тот режим изоляции, который задан по-умолчанию в драйвере принтера.

Помимо технологии Printer Driver Isolation в Windows 7 и Windows 2008 появилась еще очень удобная технология, позволяющая существенно облегчить работы по управлению драйверами печати на терминальных серверах. Познакомится с ней можно в статье Easy Print в Windows 2008 Server

источник

Как решить проблемы подсистемы печати в терминальном сервере

Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере 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». Именно они и отвечают за передачу печати на клиента.

Теперь перейдем к требованием на клиенте. Их всего два — использование протокола RDP версии не ниже 6.1 и .NET Framework 3.0 с пакетом обновления 1 (SP1). Больше от них ничего не требуется.

Решения сторонних компаний

Избавиться от проблемы падающего спулера призваны такое ПО как, например, ScrewDrivers (сайт). Оно предоставляет клиент-серверную архитектуру.
Сервер ScrewDrivers — это компонент, который необходимо установить на серверы, на которых планируется использовать печать в терминальном сеансе. Клиент ScrewDrivers должен быть установлен на рабочих станциях. Именно этот компонент позволяет создать на терминальном сервере виртуальные принтеры, которые соответствуют локальным принтерам пользователя.
В целом, напоминает Easy Print, но не бесплатно (впрочем, есть лекарства ;).

источник

Изоляция драйвера принтера в Windows 7

Падение службы диспетчера печати (ака print spooler) вследствие ошибок в драйверах печати является существенной проблемой ОС семейства Windows. Проблема усугубляется тем, что ошибки с драйверами печати довольно трудно диагностировать, а выявление проблемного драйвера может стать головной болью для системного администратора. Самое плохое что, сбой драйвера печати принтера, загруженного в процесс очереди печати, вызывал сбой самого спулера, в результате в результате вся система печати сервера перестает работать, и эти последствия затрагивают большое количество пользователей и принтеров. Однако вместе с выходом Windows 2008 R2 и Windows 7 все эти проблемы должны остаться в прошлом, ведь в этих ОС появилась технология Printer Driver Isolation (Изоляции драйверов принтеров).

Как следует из названия, технология Printer Driver Isolation (PDI) реализует изоляцию драйверов принтеров в отдельные процессы, отделенные от процесса диспетчера печати (spoolsv.exe). Поэтому, если случается любая ошибка в драйвере принтера, то она затрагивает только процесс, которые подгрузил этот драйвер, а не процесс spoolsv.exe, тем самым предотвращая его падение и улучшая надежность сервера печати. Кроме того, эта новая функция обеспечивает возможность изоляции новых версий драйверов с целью тестирования или отладки, а также возможность выявить сбойный драйвер.

Читайте также:  Установка конькового бруса на фронтон

Процесс, осуществляющий загрузку драйверов, которые должны работать изолированно от «Диспетчера Печати», называется PrintIsolationHost.exe.

Существует три режима работы технологии изоляции драйверов:

  • None – Драйвера принтеров загружаются процессам диспетчера печати (spooler), т.е. в этом режиме система работает как обычно
  • Shared – Драйвера настроены на работу с одним общим экземпляром процесса PrintIsolationHost.exe, отделенного от процесса spoolsv.exe. Это режим работы по-умолчанию.
  • Isolated – Каждый драйвер принтера настроен на использование своего собственного экземпляра процесса PrintIsolationHost.exe.

Чтобы проверить, поддерживает ли драйвер принтера технологию PDI: перейдите в следующую ветку реестра.
HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\ \Drivers\Version-3\ \PrinterDriverAttributes

Возможные значения:
0: Драйвер не поддерживает PDI
2: Драйвер принтера поддерживает PDI

Если же значение отсутствует, значит оно равно 0, и драйвер PDI не поддерживает

Как изменить режим работы Printer Driver Isolation

Есть несколько способов настроить режим работы режима изоляции драйверов печати:

  • Конфигурация с помощью INF –файла драйвера печати
  • Консоль Print Management Console (PMC)
  • Групповые политики

INF файл драйвера печати

С помощью inf файла драйвера принтера можно определить, поддерживает ли драйвер PDI или нет. Этот inf файл содержит ключ DriverIsolation, который определяет поддержку PDI. Соответственно, если значение этого параметра , значит данный драйвер PDI не поддерживает.

Консоль Print Management (PMC)

С помощью новой консоли управления принтерами (PMC) можно достаточно просто управлять изоляцией драйверов. Если открыть консоль PMC и перейти в раздел драйверов, то в правой панели можно увидеть список установленных в системе драйверов, а в колонке Driver Isolation будет отображаться режим работы PDI драйвера принтера.

Чтобы изменить режим работы драйвера, нужно щелкнуть правой кнопкой по нужному драйверу и выбрать опцию ‘Set Driver Isolation‘. Доступны следующие опции:

  • Опция SystemDefault – означает, что драйвер работает в соответствии со своими стандартными настройками или настройками групповой политики.
  • Также если групповая политика ‘Execute Print drivers in isolated processes’ отключена (Disabled), тогда режим изоляции PDI поменять не получится.

Групповые политики, позволяющие управлять изоляцией драйверов

Существует две настройки групповой политики, позволяющие настроить режим изоляции драйверов принтеров. Найти их можно в разделе:

Computer Configuration\Administrative Templates\Printers.

  • Execute print drivers in isolated processes (Выполнять драйверы принтеров в изолированных процессах)
  • Override print driver execution compatibility setting reported by print driver (Переопределить параметр совместимости выполнения драйвера печати)

Политика: Execute print drivers in isolate processes

Настройки этой политики определяют будут ли драйвера принтера выполняться в одном или отдельных процессах. Если драйвера принтеров загружены изолированным процессом (или процессами), то любой сбой в драйвере печати не приведет к падению службы Print Spooler.

В том случае если вы активировали или не настраивали данную политику, Диспетчер печати будет выполнять драйвера в изолированном процессе.

Если вы отключите данную политику, то драйвера принтеров будут исполняться в процессе диспетчера печати (как в версиях Windows XP/2003 и более ранних версиях ОС).
Политика: Override print driver execution compatibility setting reported by print driver

Политика определяет, должен ли Диспетчер печати переопределять режим работы PDI, заданный в драйвере принтера. Т.е. политика активирует выполнение драйверов в изолированном процессе, даже если драйвер принтера не совместим.

Если активировать эту политику, то спулер печати будет игнорировать флаг совместимости, заданный для драйвера принтера.

Если отключить или не настраивать эту политику, print spooler будет использовать тот режим изоляции, который задан по-умолчанию в драйвере принтера.

Помимо технологии Printer Driver Isolation в Windows 7 и Windows 2008 появилась еще очень удобная технология, позволяющая существенно облегчить работы по управлению драйверами печати на терминальных серверах. Познакомится с ней можно в статье Easy Print в Windows 2008 Server

источник