Не удалось добавить принтер код ошибки win32 87

Win32 error code : ошибка, которая может возникнуть при попытке печати локально или из служб терминалов.

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

Документ без названия. Блокнот, принадлежащий blin, не смог распечатать на принтере 041hp4050 (перенаправлено 4). Попробуйте распечатать документ еще раз или перезапустите диспетчер очереди печати. ​​Тип данных: RAW. Размер файла спула в байтах: 23044. Количество напечатанных байтов: 0. Общее количество страниц в документе: 1. Количество напечатанных страниц: 0. Клиентский компьютер: \ ноутбук. Код ошибки Win32, возвращенный процессором печати: 5. Доступ запрещен.

Это особенно частая проблема для платформ Windows Server. Это может быть связано с драйвером принтера, недостаточной оперативной памятью или с диспетчером очереди, получающим недопустимые данные.

Диспетчер очереди печати Windows обычно является источником этой проблемы. Ниже приведено несколько возможных решений проблемы « Код ошибки Win32 ».

Наличие ошибок Win32 на вашем компьютере? Вот как вы можете их исправить

1. Запустите средство устранения неполадок принтера

Средство устранения неполадок принтера, включенное в Windows, – это первое, что вы должны открыть, чтобы исправить проблемы с принтером. Это не всегда помогает, но, тем не менее, может устранить многочисленные проблемы с принтером.

Диспетчер очереди печати – одна из вещей, которую проверяет средство устранения неполадок. Вот как вы можете открыть средство устранения неполадок печати в Windows 10.

– ТАКЖЕ ПРОЧИТАЙТЕ: 6 лучших программ для управления принтером для оптимизации производительности

2. Назначьте разрешение диспетчеру очереди печати

В частности, это исправление службы терминалов для ошибки « код ошибки Win32 ». Это разрешение использует служебную программу командной строки Cacls. exe для назначения разрешения диспетчеру очереди печати. Вы можете сделать это следующим образом.

ТАКЖЕ ЧИТАЙТЕ: как исправить проблемы с печатью в Windows 10

3. Перезапустите диспетчер очереди печати.

В журнале просмотра событий об ошибке « Код ошибки Win32 » указывается, что необходимо перезапустить диспетчер очереди печати. Так что это еще одно потенциальное решение, подтвержденное некоторыми для работы. Вот как вы можете перезапустить спулер в Windows.

4. Очистите каталог диспетчера очереди печати.

5. Установите новый драйвер принтера

Так как ошибка « Win32 error code » может быть связана с драйвером принтера, его замена на свежую и обновленную также может решить проблему.

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

HP LaserJet 1522, 1536, 3052/3055, 300/400 Color.

Я думаю, многим системным администраторам известны описанные в заголовке мфу, отличаются они, в первую очередь, не очень удобной установкой и от этого имеют дурную славу. Однажды, копируя на очередной компьютер сквозь узкий канал пакет fullsolution для мфу весом около 300 мегабайт, идея разобрать этот инсталлятор и автоматизировать установку вылезла попапом на глаза — работу пришлось приостановить.

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

Настроим печать

Первым на запрос по snmp показался мфу HP LaserJet 1536, с него и решил начать. Для начала нужно понять. как его подключать как принтер под Windows 7; пожилую XP отбросил сразу, свежую Windows 8 в домене, есть мнение, мне не увидеть никогда. Вот и повод познакомиться с новым для себя PowerShell, подумал я, который в итоге был чуть ли не основной мотивацией в разборе драйвера. Подключение ip-принтера в Windows 7 состоит из трех этапов (в Windows 8 всё сильно упрощается встроенными командлетами, но про нее я уже говорил — не судьба), сначала создаем ip-порт, потом добавляем драйвер и подключаем, собственно, принтер. Для всех этих этапов в Windows есть уже готовые VBS скрипты, многим, я думаю, знакомые, в Windows 7 путь к ним: С:\Windows\System32\Printing_Admin_Scripts\

Тут стоит отметить одну важную особенность: имя принтера должно указываться точно так же как оно прописано в inf файле драйвера, ради примера уберите часть имени, скрипт выдаст ошибку: «Не удалось добавить драйвер принтера HP LaserJet Код ошибки Win32 87».

Отрывок файла драйвера с полным именем принтера:

Теперь осталось подключить принтер, для этого я остановился на замечательной программе printui, советую посмотреть на нее поближе, у нее есть интересные ключи.
&rundll32 printui. dll, PrintUIEntry /if /b «HP LaserJet M1530 MFP Series PCL 6» /r «192.168.0.30» /m «HP LaserJet M1530 MFP Series PCL 6» /u /K /q /Gw

Пришло время оформить все это в примерно следующего вида скрипт на PowerShell:

Сканирование

Копаясь в inf файлах драйвера, для поиска правильного имени принтера и попутно вообще разбираясь в структуре драйвера HP, глаз зацепился за следующие строки (выделил жирным):

;Windows Vista
[HP. NT.6.0]
«HP LJ M1530 MFP Series Scan»= WIA_1530_Inst. NT.6.0, USB\vid_03f0&pid_012a&mi_00
«HP LJ M1530 MFP Series Scan»= WIA_1530_NW. NT.6.0,vid_03f0&pid_012a&IP_SCAN

;Windows Vista 64
[HP. NTAMD64.6.0]
«HP LJ M1530 MFP Series Scan»= WIA_1530_Inst_Vista64, USB\vid_03f0&pid_012a&mi_00
«HP LJ M1530 MFP Series Scan»= WIA_1530_NW_Vista64,vid_03f0&pid_012a&IP_SCAN

Тут бы хотелось лирики (казалось бы, при чем тут 1С? если вы понимаете о чём я), но опущусь до сухой констатации: попробуем devcon. exe.

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

Добавляем устройство по ID указав драйвер:

.\devcon. exe /r install C:\drivers\1536scan\hppasc16.inf «vid_03f0&pid_012a&IP_SCAN»

Добавляем в реестр необходимые параметры, запускаем сканирование и… Бинго!
Сканер отлично работает, осталось все это оформить.

Настройки сканера в реестре хранятся по следующим путям:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<6bdd1fc6-810f-11d0-bec7-08002be2092f>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE

Опытным путём определяем необходимые нам ключи реестра:

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<6bdd1fc6-810f-11d0-bec7-08002be2092f>\_ITEM_\DeviceData]
«NetworkDeviceID»=»\\hostname:_NETWORK_NAME_.domain. local\\ipaddr:_IP_ADDRESS_\\guid:\\macaddr:_MAC_ADDRESS_\\port:1″
«PortID»=»_IP_ADDRESS_»
«NetworkHostName»=»_NETWORK_NAME_.domain. local»
«TulipIOType»=dword:00000005

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE\_ITEM_\Device Parameters]
«NetworkDeviceID»=»\\hostname:_NETWORK_NAME_.domain. local\\ipaddr:_IP_ADDRESS_\\guid:\\macaddr:_MAC_ADDRESS_\\port:1″
«PortID»=»_IP_ADDRESS_»
«NetworkHostName»=»_NETWORK_NAME_.domain. local»
«MAC»=»_MAC_ADDRESS_»
«PortNumber»=«1»
«Index»=»_ITEM_»

Готовый скрипт установки сканера примет следующий вид:

Потираем руки, проверяем — работает, модифицируем под 1522 — работает, победно правим под 3055 — облом…
Сканер не дает выбрать планшет, в меню сканирования доступен только податчик, да и тот отказывается сканировать.

Серьезный разговор с 3055 или, Чувак ты поднял на гору не тот камень

Вот он, LaserJet 3055/3052 — самый вредный парень, на удивление вижу я его чаще всех. На самом деле — скажу по секрету — я начал заниматься им первым — пошел через дебри фильтрации вывода procmon при установке драйвера для поиска чего-нибудь интересного и утонул где-то посередине. Когда очередной раз procmon упал из-за нехватки памяти, я решил отложить эту затею до более дружелюбного и спокойного состояния.

В дистрибутивах драйверов других принтеров HP есть ее шестидесяти четырех разрядная версия, драйвер 3055 же поддерживает только x86 операционные системы.

Драйвера сканера я решил выдернуть из общей папки драйверов и сложить отдельно, необходимые файлы легко читаются из inf-файла драйвера. Дерево получилось следующего вида:

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

Этот же способ отлично подходит для всех оказавшихся вокруг меня МФУ от HP, для которых я создал отдельные папки с драйверами и варианты выбора в свитче функции установки сканера.

Список файлов драйвера можно посмотреть в разделах inf-файла с именами [SourceDisksFiles], [RegisterDlls], [WIA_CopyFiles] и далее по файлу. Скриншот по драйверам 3055 и 1536, для наглядности:

Из описанных в этой заметке отрывков кода можно собрать полноценный скрипт автоматической установки МФУ, а если добавить в него немного гуя и snmp, то можно вообще навсегда закрыть для себя тему установки МФУ на новые машины.

На этом на сегодня всё, спасибо за внимание. Если в комментариях подскажут чего не хватает МФУ 3055 для работы при установке первым способом посредством devcon, буду сильно благодарен. Может быть кто-то проделал ту же работу, что и я, но добился больших успехов.

В следующей части, если кто-то кинет таки инвайт в песочницу, покажу как расширить наш сценарий для работы с МФУ Xerox и Kyocera.

HP LaserJet 1522, 1536, 3052/3055, 300/400 Color…

Я думаю, многим системным администраторам известны описанные в заголовке мфу, отличаются они, в первую очередь, не очень удобной установкой и от этого имеют дурную славу. Однажды, копируя на очередной компьютер сквозь узкий канал пакет fullsolution для мфу весом около 300 мегабайт, идея разобрать этот инсталлятор и автоматизировать установку вылезла попапом на глаза — работу пришлось приостановить.

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

Настроим печать

Первым на запрос по snmp показался мфу HP LaserJet 1536, с него и решил начать. Для начала нужно понять. как его подключать как принтер под Windows 7; пожилую XP отбросил сразу, свежую Windows 8 в домене, есть мнение, мне не увидеть никогда. Вот и повод познакомиться с новым для себя PowerShell, подумал я, который в итоге был чуть ли не основной мотивацией в разборе драйвера. Подключение ip-принтера в Windows 7 состоит из трех этапов (в Windows 8 всё сильно упрощается встроенными командлетами, но про нее я уже говорил — не судьба), сначала создаем ip-порт, потом добавляем драйвер и подключаем, собственно, принтер. Для всех этих этапов в Windows есть уже готовые VBS скрипты, многим, я думаю, знакомые, в Windows 7 путь к ним: С:\Windows\System32\Printing_Admin_Scripts\

Тут стоит отметить одну важную особенность: имя принтера должно указываться точно так же как оно прописано в inf файле драйвера, ради примера уберите часть имени, скрипт выдаст ошибку: «Не удалось добавить драйвер принтера HP LaserJet Код ошибки Win32 87».

Отрывок файла драйвера с полным именем принтера:

Теперь осталось подключить принтер, для этого я остановился на замечательной программе printui, советую посмотреть на нее поближе, у нее есть интересные ключи.
&rundll32 printui. dll, PrintUIEntry /if /b "HP LaserJet M1530 MFP Series PCL 6" /r "192.168.0.30" /m "HP LaserJet M1530 MFP Series PCL 6" /u /K /q /Gw

Пришло время оформить все это в примерно следующего вида скрипт на PowerShell:

Сканирование

Копаясь в inf файлах драйвера, для поиска правильного имени принтера и попутно вообще разбираясь в структуре драйвера HP, глаз зацепился за следующие строки (выделил жирным):

;Windows Vista
[HP. NT.6.0]
«HP LJ M1530 MFP Series Scan»= WIA_1530_Inst. NT.6.0, USB\vid_03f0&pid_012a&mi_00
«HP LJ M1530 MFP Series Scan»= WIA_1530_NW. NT.6.0,vid_03f0&pid_012a&IP_SCAN

;Windows Vista 64
[HP. NTAMD64.6.0]
«HP LJ M1530 MFP Series Scan»= WIA_1530_Inst_Vista64, USB\vid_03f0&pid_012a&mi_00
«HP LJ M1530 MFP Series Scan»= WIA_1530_NW_Vista64,vid_03f0&pid_012a&IP_SCAN

Настройки сканера в реестре хранятся по следующим путям:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<6bdd1fc6-810f-11d0-bec7-08002be2092f>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE

Опытным путём определяем необходимые нам ключи реестра:

Тут бы хотелось лирики (казалось бы, при чем тут 1С? если вы понимаете о чём я), но опущусь до сухой констатации: попробуем devcon. exe.

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

support. microsoft. com/kb/311272/ru

Добавляем устройство по ID указав драйвер:

.\devcon. exe /r install C:\drivers\1536scan\hppasc16.inf "vid_03f0&pid_012a&IP_SCAN"

Добавляем в реестр необходимые параметры, запускаем сканирование и… Бинго!
Сканер отлично работает, осталось все это оформить.

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<6bdd1fc6-810f-11d0-bec7-08002be2092f>\_ITEM_\DeviceData]
«NetworkDeviceID»="\\hostname:_NETWORK_NAME_.domain. local\\ipaddr:_IP_ADDRESS_\\guid:\\macaddr:_MAC_ADDRESS_\\port:1"
«PortID»="_IP_ADDRESS_"
«NetworkHostName»="_NETWORK_NAME_.domain. local"
«TulipIOType»=dword:00000005

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\IMAGE\_ITEM_\Device Parameters]
«NetworkDeviceID»="\\hostname:_NETWORK_NAME_.domain. local\\ipaddr:_IP_ADDRESS_\\guid:\\macaddr:_MAC_ADDRESS_\\port:1"
«PortID»="_IP_ADDRESS_"
«NetworkHostName»="_NETWORK_NAME_.domain. local"
«MAC»="_MAC_ADDRESS_"
«PortNumber»=«1»
«Index»="_ITEM_"

Готовый скрипт установки сканера примет следующий вид:

Потираем руки, проверяем — работает, модифицируем под 1522 — работает, победно правим под 3055 — облом…
Сканер не дает выбрать планшет, в меню сканирования доступен только податчик, да и тот отказывается сканировать.

Серьезный разговор с 3055 или, Чувак ты поднял на гору не тот камень

Вот он, LaserJet 3055/3052 — самый вредный парень, на удивление вижу я его чаще всех. На самом деле — скажу по секрету — я начал заниматься им первым — пошел через дебри фильтрации вывода procmon при установке драйвера для поиска чего-нибудь интересного и утонул где-то посередине. Когда очередной раз procmon упал из-за нехватки памяти, я решил отложить эту затею до более дружелюбного и спокойного состояния.

В дистрибутивах драйверов других принтеров HP есть ее шестидесяти четырех разрядная версия, драйвер 3055 же поддерживает только x86 операционные системы.

Драйвера сканера я решил выдернуть из общей папки драйверов и сложить отдельно, необходимые файлы легко читаются из inf-файла драйвера. Дерево получилось следующего вида:

C:\Drivers\Scanners\ip\3055scan\hpgtpusd. dll
C:\Drivers\Scanners\ip\3055scan\hppasc01.cat
C:\Drivers\Scanners\ip\3055scan\hppasc01.dll
C:\Drivers\Scanners\ip\3055scan\hppasc01.inf
C:\Drivers\Scanners\ip\3055scan\hppniscan01.exe
C:\Drivers\Scanners\ip\3055scan\hpptpml3.dll
C:\Drivers\Scanners\ip\3055scan\hpxp3390.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzidr12.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzipm12.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzipr12.dll
C:\Drivers\Scanners\ip\3055scan\Drivers\dot4\Win2000\hpzipr12.sys

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

Этот же способ отлично подходит для всех оказавшихся вокруг меня МФУ от HP, для которых я создал отдельные папки с драйверами и варианты выбора в свитче функции установки сканера.

Список файлов драйвера можно посмотреть в разделах inf-файла с именами [SourceDisksFiles], [RegisterDlls], [WIA_CopyFiles] и далее по файлу. Скриншот по драйверам 3055 и 1536, для наглядности:

Из описанных в этой заметке отрывков кода можно собрать полноценный скрипт автоматической установки МФУ, а если добавить в него немного гуя и snmp, то можно вообще навсегда закрыть для себя тему установки МФУ на новые машины.

На этом на сегодня всё, спасибо за внимание. Если в комментариях подскажут чего не хватает МФУ 3055 для работы при установке первым способом посредством devcon, буду сильно благодарен. Может быть кто-то проделал ту же работу, что и я, но добился больших успехов.

В следующей части, если кто-то кинет таки инвайт в песочницу, покажу как расширить наш сценарий для работы с МФУ Xerox и Kyocera.

Источники:

https://generd. ru/fix/ispravit-kod-oshibki-win32-vozvrashhaemyj-proczessorom-pechati/

https://habr. com/ru/post/242513/

https://savepearlharbor. com/?p=242513

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: