У нас есть следующий сценарий:

  1. 30 ноутбуков
  2. 30 принтеров HP Laserjet P2015, подключенных через USB

Пользователи могут каждый день сидеть в другом месте, на другом принтере (хотя идентичной модели). Они начинаются с одного принтера на виртуальном порту USB001. Затем, когда они меняют свое местоположение и подключают другой принтер, по-видимому, не всегда, Windows может создать новый принтер HP Laserjet P2015 (копия 1) и установить его на новый порт USB002.

Когда это происходит, копия 1 может печатать через порт USB002 на принтер, но другой принтер, который все еще настроен на USB001 (даже если это тот же драйвер, тот же тип, то же самое, что и все, кроме другого физического принтера), выдает ошибки, потому что он предположительно не больше подключен

Идеальным сценарием может быть: один виртуальный порт принтера USB, USB001, который всегда печатает через USB001 независимо от того, к какому принтеру он подключен. Есть ли способ заставить компьютер сделать это?

Мои идеи:

  • включите пул принтеров и просто разрешите каждому принтеру печатать через каждый порт, при этом только один принтер должен печатать только на этом и игнорировать остальные; не работает
  • каким-то образом заставить групповую политику заставить принтер использовать один и тот же виртуальный порт? но я предполагаю, что это, вероятно, помешает работе принтера полностью
  • сохранить ключ реестра для настроек принтера в виде файла .reg и выполнить его при запуске на всех компьютерах? но я боюсь, что это может все испортить

1 ответ1

0

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

Я посмотрел на PJL (язык работы принтера); нашел следующую команду

Создать файл со следующим содержимым; назовите его serial.txt (или как угодно)

ESC%-12345X@PJL SET SERVICEMODE=HPBOISEID
@PJL SET SERIALNUMBER=CNCABCDEF
@PJL SET FORMATTERNUMBER=ABCDEF
@PJL SET SERVICEMODE=EXIT
ESC%-12345X

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

copy /b serial.prn \\workstation\share

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .