Уязвимость в службе печати windows существует во всех версиях системы с 1996 года

Содержание

Установка драйвера печати в хранилище драйверов

Чтобы вывести список драйверов печати, который установлены в хранилище драйверов Windows:


Уставим в системе новый драйвер печати, например, HP Universal Printing PCL 6. Согласно документации, команда PowerShell для добавления драйвера должна быть такой:

Однако при попытке установить драйвер подобным образом появляется ошибка:

Add-PrinterDriver : One or more specified parameters for this operation has an invalid value.
At line:1 char:1
+ Add-PrinterDriver -Name "HP Universal Printing PCL 6" -InfPath "C:\Di ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (MSFT_PrinterDriver:ROOT/StandardCimv2/MSFT_PrinterDriver) , CimException   + FullyQualifiedErrorId : HRESULT 0x80070057,Add-PrinterDriver

Оказывается, драйвер из inf файла можно добавить только в том случае, если он уже находится в хранилище драйверов DriverStore (подробнее про хранилище можно почитать здесь). Получается, что с помощью команды Add-PrinterDriver установить драйвер, отсутствующий в хранилище драйверов системы нельзя. Для установки драйвера в DriverStore можно воспользоваться:

  • из предыдущей статьи;
  • Утилитой pnputil.exe. Формат такой: (установить конкретный драйвер принтера) или (установит все драйвера, найденные в inf файлах указанного каталога);
  • Командлетом Add-WindowsDriver, позволяющим интегрировать драйвера в оффлайн образ Windows.

После добавления драйвер принтера в хранилище, необходимо добавить его в список доступных принт-сервере.

Совет. Как узнать, что нужно указывать в поле с именем драйвера печати при установке драйвера через PowerShell? Указываемое имя драйвера печати должно в точности совпадать с его внутренним системным именем, иначе при установке появится ошибка. Узнать правильное имя драйвера можно с помощью команды get-printerdriver на системе, в которой этот драйвер уже установлен, либо путем ручного исследования .inf файла драйвера.

Восстанавливаем работу службы печати

Приведем основные факторы, из-за которых может произойти «заедание» печати:

  • Старые и неправильно инсталлированные (неподходящие) драйвера для устройств печати;
  • Неофициальная версия Виндовс;
  • Перегруженность ПК различными «мусорными» приложения, которые приводят к торможению и замедлению рабочих процессов;
  • Система находится под вирусным заражением.

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

Способ 1: Проверка работоспособности службы

Первым делом проверим, корректно ли работает служба печати в Виндовс 7. Для этого предпримем ряд определённых действий.

  1. Переходим в меню «Пуск» и набираем в панель поиска запрос . Щелкаем по появившейся надписи «Службы».

В возникшем окошке «Службы» производим поиск подпункта «Диспетчер печати». Кликаем по нему ПКМ и щелкаем по пункту «Остановить».

Далее снова подключаем эту локальную службу, кликнув ПКМ и выбрав «Запустить».

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

Способ 2: Сканирование на системные ошибки

Произведем полное сканирование Вашей системы на наличие системных ошибок. Для этого выполним следующие шаги.

  1. Открываем «Командную строку» с возможностью администрирования. Заходим в меню «Пуск», вводим и, кликнув ПКМ, выбираем «Запуск от имени администратора».

    Подробнее: Вызов «Командной строки» в Windows 7

Чтобы запустить сканирование, набираем команду:

После окончания сканирования (может занять несколько минут) попробуйте снова запустить процесс печати.

Способ 3: Безопасный режим

Запускаемся в безопасном режиме (в момент включения ПК периодически нажимаем клавишу F6 и в появившемся списке выбираем «Безопасный режим»).

Подробнее: Как войти в «Безопасный режим» в Windows

Переходим по пути:

В данной директории удаляем все содержимое.

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

Способ 4: Драйвера

Урок: Скачиваем и устанавливаем драйвера для принтера


Также можно воспользоваться стандартными возможностями Windows.

Урок: Установка драйверов стандартными средствами Windows

Еще есть возможность использовать специализированные программные решения.

Урок: Программы для установки драйверов

После переустановки драйверов пробуем распечатать необходимые документы.

Способ 5: Восстановление системы

Если у Вас есть точка восстановления системы, когда проблем в печати не наблюдалось, то данный способ может исправить неполадку в «Диспетчере печати».

  1. Открываем меню «Пуск» и набираем «Восстановление системы», жмём Enter.

Перед нами возникнет окошко «Восстановление системы», в нём жмём «Далее», выбрав пункт «Выбрать другую точку восстановления».

В появившемся перечне выбираем необходимую дату (когда не было ошибок с печатью) и щелкаем по кнопочке «Далее».

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

Способ 6:Проверка на вирусы

В определённых ситуациях остановка службы печати может быть вызвана действиями вирусов в вашей системе. Для того, чтобы устранить проблему, необходимо просканировать Виндовс 7 антивирусной программой. Список хороших бесплатных антивирусов: AVG Antivirus Free, Avast-free-antivirus, Avira, McAfee, Kaspersky-free.

Проблемы со службой печати в Windows 7 могут остановить рабочие процессы и доставить большое количество неудобств. Применяя методы, представленные в данной статье, Вы сможете наладить работу вашего печатающего устройства.

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Перезапуск службы печати в Windows

Данная служба называется print spooler. Для чего может потребоваться выполнить перезапуск службы печати? Бывает так, что в какой-то момент  очередь печати принтера просто забивается, особенно если печать ведется через сервер терминалов.

Как перезапустить службы печати Windows через оснастку службы

Открываем — Пуск — Панель управления

Далее ищем пункт — Администрирование — Службы

либо нажимаем win+R, открыв командную строку — пишем services.msc и жмем enter. У вас откроется оснастка Службы.

Находим нашу с вами службу, а именно Диспетчер печати, видим, что статус у нее сейчас Работает.

Щелкаем правым кликом и из контекстного меню выбираем Перезапустить.

Служба перезапустится и ваш принтер вероятно, начнет снова печатать.

Как очистить очередь печати принтера (Windows)

Проблема: документы не удаляются из очереди, причем не помогает ни отключение принтера, ни перезагрузка компьютера.

В этом случае используем жесткий метод очистки, описанный ниже.

Необходимо открыть командную строку, запущенную от имени администратора, и выполнить следующие команды:

net stop spooler
del %systemroot%\system32\spool\printers\*.shd
del %systemroot%\system32\spool\printers\*.spl
net start spooler

Для ленивых Cmd файл в архиве remove_printer_jobs.zip217 Байт. (Запускать от имени Администратора)

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

Причины этих проблем разделим следующим образом.

  • Неидентичные версии драйверов на клиентской машине и на терминальном сервере.
  • Нестабильность драйверов в терминальной среде.
  • Высокая нагрузка на службу «диспетчер очереди печати»
  • Отсутствие работоспособных драйверов для терминальных серверов.

Версии драйверов.

Драйверы различных версий на сервере и клиентских машинах (в общем, то это первое, что нужно проверить) должны быть идентичны в т. ч. и с точки зрения версии PCL. Если версии отличаются то, скорее всего печати нам не видать. Также можно отметить, что когда стоит выбор использовать PCL5 или PCL6, лучше устанавливать драйверы PCL5, т.к. на практике они работают стабильнее. PCL6 возможно пригодится для печати векторной графики, но в офисах, где печатаются в основном текстовые документы, он не так актуален.

Высокая нагрузка и нестабильность драйверов в терминальной среде.

Нестабильная работа драйверов и, соответственно, перегрузка ими диспетчера очереди печати (по русски – «спулера») вызывала (и будет вызывать, если не чего не делать), остановку всего процесса печати на сервере, а иногда и остановку (зависание) ОС сервера в целом.

До выхода Windows Server 2008, штатных средств по оптимизации нагрузки спулера в ОС Windows Server не было.

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

С выходом Windows Server 2008 и Windows 7 появилась возможность изоляции драйверов принтера. Данная возможность позволяет драйверу принтера подгружать задачи не в Spoolsv.exe, а специальный под-процесс PrintIsolationHost.exe.

При такой конструкции, зависание драйвера одного принтера, не вешает всю очередь печати, поскольку встает только один под-процесс PrintIsolationHost.exe, а сам процесс спулера spoolsv.exe остается работоспособным.

Теперь пару слов о настройке. Диспетчер печати по умолчанию выполняет драйверы печати в изолированном процессе. Изменить можно при помощи групповой политики, параметр «Выполнять драйверы принтеров в изолированных процессах» .

Также важен еще один параметр групповой политики это – «Переопределить параметр совместимости выполнения драйвера печати»

Для того чтобы включить изоляцию драйверов принтеров, нужно использовать редактор локальной групповой политики (gpedit.msc):

Откройте gpedit.msc и последовательно перейдите:

Параметры компьютера (Computer Configuration) -> Административные шаблоны (Administrative Templates)-> Принтеры (Printers).

Среди перечня политик нужно включить следующие:

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

Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати (Override print driver execution compatibility setting reported by print driver)

К сожалению, данная функция никак не решит проблему отсутствия работоспособных драйверов для терминальных сред или слишком высокой нагрузки на спулер (например, когда на сервере установлены 10-ки разных драйверов разных устройств).

Отсутствие работоспособных драйверов для терминальных сред и сверхнагрузка на спулер.

В ситуации, когда с терминального сервера необходимо печатать на 10-ках различных печатающих устройствах (в зоопарке из принтеров, если быть точнее), многие из которых не имеют рабочих драйверов для терминалов, следует применять функцию TS Easy Print.

TS Easy Print и сторонние решения вроде коммерческого продукта ScrewDrivers — в данном материале не рассматриваются.

Подсистема печати недоступна, как исправить ошибку?

Способ 1: проверка компьютера на вирусы

Если подсистема печати недоступна, как исправить ошибку? Существует несколько основных причин возникновения данного сбоя. Первым пунктом выделим именно вирусы, в подавляющей большинстве случаев они становятся причиной этой проблемы и не только. Даже, если вам удастся устранить неисправность без изучения и полного удаления причины, это не даст полного результата потому, что ошибка все равно вернётся, да ещё и с последствиями более глубокого заражения.

Существует 2 основных метода борьбы с вирусами в системе, оба заключаются в использовании антивирусных программ. Первый, более эффективный, но и сложный метод – это использовать LiveCD приложение, которое следует запустить под Windows, это облегчает работу антивирусу и шансов на достижение цели гораздо больше. Другой вариант, который подойдет большинству пользователей, просто загрузить программу, можно использовать Kaspersky или Dr. Web.

Способ 2: проверка целостности системы

Подсистема печати недоступна Windows XP — причина этому часто находится в системной плоскости самой ОС, то есть существуют какие-то файлы, которые были заменены, повреждены или отсутствуют. Без полноценной Windows сложно рассчитывать на корректную работу не только средства печати, но и остальных элементов.

Подсистема печати недоступна, как исправить? – Лучшее средство sfc:

  1. Нажмите на Пуск и выберите категорию «Стандартные»;
  2. Найдите элемент «Командная строка» и ПКМ по ней;

  1. Выберите пункт «Запуск от имени»;
  2. Выделите графу «Учетная запись указанного пользователя» и укажите аккаунт с правами Администратора;

  1. Вставьте команду sfc /scannow.

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


Другим вариантом проверки исправности системы является официальная утилита Microsoft Easy Fix It. Она вовсе не требует действий от пользователя и проверяется не только правильное состояние ОС, но и настройки системы. Если были сбои в службе, то программа также поможет одолеть проблему.

Способ 3: проверка диспетчера очереди печати

Существует специальная служба, которая отвечает за правильное распределение и построение списка печати документов, она называется Диспетчер очереди печати. Это весьма важный элемент, без него правильно работать принтер не будет. Чтобы проверить корректность настройки службы нужно:

  1. Клик на Пуск;
  2. ПКМ по «Мой компьютер» и выберите параметр «Управление»;
  3. В меню, которое находится слева, выберите пункт «Службы и приложения»;
  4. Затем перейдите в «Службы»;
  5. Среди списка необходимо найти «Диспетчер очереди печати»;
  6. Проверьте, что «Тип запуска» стоит в положении авто, а «Состояние» указывается как «Работает»;
  7. Если вы обнаружите какие-то отличные параметры в пункте 6, то двойным кликом откройте «Свойства» службы и измените принцип её работы на соответствующий.

Разобран ещё один метод подсистема печати недоступна Windows XP как исправить, но не упомянуто о главном, обычно ключевом месте и это драйвера.

Способ 4: переустановка драйвера

Невозможно завершение печати подсистема печати недоступна? В этом случае вам также необходимо обратить внимание на некорректность работы драйверов устройства. Увы, но, как и любая система, драйвера дают сбои, которые выражаются в разнообразном виде, в том числе и данной ошибкой

Для переустановки драйверов необходимо выполнить:

Также можно использовать альтернативный метод, так перейдите из «Панели управления» в раздел «Устройства и принтеры»

Удалите все устройства, которые запомнила система, особенно обратите внимание на элемент, соответствующий проблемному принтеру

Способ 5: ручная настройка системы

Некоторые файлы Windows XP изменяются, в частности из-за вирусов, в том числе и основополагающие элементы центра печати. Если предварительно через командную строку или Fix It не удалось установить правильное значение всех параметров системы, то придется сделать это вручную.

Перейдите в раздел C:\WINDOWS\system32\spool\PRINTERS и удалите конечный каталог полностью, чтобы не осталось в нём ничего. Вернувшись назад в папку system32 найдите элементы sfc_os.dll (корректный файл весит 140 кб), sfcfiles.dll, sfc.exe, sfc.dll. При необходимости нужно заменить файлы, которые перечислены ранее, взять их можно с другой, аналогичной ОС или из резервной папки Windows\DllCache.

Несмотря на то, что Windows XP уже продолжительное время не поддерживается, не у всех пользователей есть даже последние обновления уже устаревшей системы, необходимо обновиться и, желательно, установить последний Service Pack 3.

if(function_exists(«the_ratings»)) { the_ratings(); } ?>

Ещё одно решение проблемы

Для начала откройте с правами администратора папку «PRINTERS», которая находится по этому пути: Windows\System32\spool\. Удалите всё её содержимое – если какие-то файлы не будут удаляться из-за их использования системой, то произведите очистку в безопасном режиме. В меню «Службы», открыть которое можно с помощью щелчка по значку администрования, находящемуся в меню «Панель управления», выберите «Диспетчер печати».

Найдите параметр «Тип запуска» и установите значение на «Авто», если оно уже не установлено. Запустите службу печати в принудительном режиме с помощью нажатия соответствующей кнопки и попробуйте распечатать пробные листы.

Если ничего из перечисленного выше не помогло, то воспользуйтесь встроенной в Windows 7 утилитой, называемой «Восстановление системы». Она может устранить все те поломки и неполадки, которые блокируют нормальную работу ПК или замедляют её. Процесс восстановления влияет только на недавно установленные программные приложения и драйвера, которые могут быть удалены. Но учтите, что исправлять проблему службы печати таким образом нужно только в крайнем случае.

2 ответы

Взгляните на этот учебник, в котором объясняется, как использовать консоль Microsoft Management Console ( MMC), чтобы удалить пакеты нежелательных драйверов принтера.

Если это не сработает, попробуйте использовать инструмент printui.exe .

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

Вот как это сделать, шаг за шагом:

  1. Open a command line with administrative rights: Start->All Programs->Accessories->Command prompt; Right click -> Run As Administrator
  2. Run the printui tool:
  3. Try deleting the printers. If that doesn’t work… (i.e., if removing the printers listed in the printui is not successful.)
  4. Click Start > Run > Services.msc
  5. Locate the Print Spooler service, and right-click > Properties > stop service.
  6. Open My Computer and browse to (you will need to click «OK» to get access to the folder).
  7. DELETE the contents of the folder you opened in step 7.
  8. Go back to and Restart the Print Spooler service.
  9. Go back into the printui utility (you might need to restart it using same method as above) and try removing printers again. This time it should work. If necessary, check the «Ports» tab and remove any TCP/IP ports that are associated with the old printer.
  10. Last but not least, check other computers on your home network to see if any of those map to the old printer, and remove these mappings

28

Единственный последовательный способ, которым я смог удалить и пакет драйвера И, — это:

  1. Откройте меню «Пуск».
  2. Введите «Командная строка».
  3. В разделе «Программы» щелкните правой кнопкой мыши «Командная строка», нажмите «Запустить от имени администратора» и примите приглашение UAC.
  4. В командной строке с повышенными правами запустите , чтобы открыть свойства сервера печати на вкладке «Драйвер» в режиме повышенной. Не закрывайте Командную строку.
  5. Выберите драйвер, который вы хотите удалить.
  6. Выберите «Удалить …».
  7. Выберите «Удалить драйвер и пакет драйверов», но оставьте ». Удаление этого драйвера принтера приведет к удалению его из системы. Вы действительно хотите удалить% driverName%?» открыть окно .
  8. В расширенной командной строке запустите .
  9. В командной строке с повышенными правами введите не запускать .
  10. Нажмите окно командной строки и наведите курсор на кнопку «Да» окна окна «Удалить драйвер».
  11. Нажмите «Ввод», чтобы выполнить команду , и как только вы увидите нажмите кнопку «Да» для удаления окно пакета драйвера.

Сроки — ключевой успех.

4

Вывод списка принтеров на сервере печати с помощью PowerShell

Выведем полный список принтеров, установленных на данном компьютере:

Как вы видите, команда показывает имя принтера, тип (локальный или сетевой), драйвер, порт печати, открыт ли к принтеру общий доступ и опубликован ли принтер в AD.

Большинство командлетов модуля PrintManagement можно использовать для просмотра состояния и управления принетрами, драйверами и очередями печати на удаленных компьютерах. Имя удаленного компьютера или сервера указывается в качестве аргумента параметра –ComputerName.

С помощью PowerShell вы можете получить информацию об установленных принтерах на удаленном компьютере (принт-сервере), для этого выполните команду:

Чтобы вывести только список принтеров с общим доступом, используйте команду:

Заключение

Причиной ошибки «Не удалось открыть мастер добавления принтеров» обычно является нестабильная работа соответствующий системной службы («Диспетчер печати»), а также некорректное системное обновление, дестабилизирующее работу с локальными принтерами

Для исправления ситуации рекомендую воспользоваться приведёнными выше советами, обратив особое внимание на активацию функционала «Службы печати и документов», это позволит исправить ошибку «Не удалось открыть мастер добавления принтеров» на вашем ПК

Периодически возникающие «баги» не перестают удивлять пользователей Windows – этой самой массовой на планете операционной системы. На этот раз проблема касается локальной подсистемы печати, которая не выполняется в Windows 7.

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

В чем суть возникшей проблемы? При попытке инсталлировать принтер при помощи стандартной процедуры, Windows выдает сообщение о том, что соответствующая служба локальной печати не может быть запущена. Ну а раз она не выполняется, то и установка принтера невозможна. Заглянув в окно со списком служб, можно убедиться в том, что «диспетчер печати» имеет статус «запускается». Ручной перезапуск данной службы не приносит никаких результатов – пользователь получает все то же сообщение об ошибке.

Те, кто разобрался с данной проблемой, предлагают два способа ее решения:

  • Переназначение статуса задачи «диспетчер печати»
  • Создание вручную нового порта и назначение его принтеру.

С этим читают