Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   rundll32 printui.dll, подключение "расшаренного" принтера с указанием драйвера. (http://forum.oszone.net/showthread.php?t=288838)

ppccdmkml 02-10-2014 15:38 2410013

rundll32 printui.dll, подключение "расшаренного" принтера с указанием драйвера.
 
Приветствую, столкнулся со следующей ситуацией:
- есть не сетевой принтер HP, подключен через usb к xp, открыт общий доступ.
- есть пользователи на 7ке, которым нужен вышеупомянутый принтер.
- есть сервер AD, который скриптами подключает автоматически нужные принтеры нужным пользователям через rundll32 printui.dll,PrintUIEntry (хотя сервер тут особой роли не играет).
- драйвер используется HP universal - это стандарт, чтобы не разводить зоопарк драйверов на терминальных серверах, помимо прочего с ним меньше глюков, не ставятся отдельные ненужные приложения сигнализирующие об уровне тонера, порты принтера всегда стандартные tcp/ip (а не hp, которые потом) и т.п.

Проблема:
При попытке с 7ки вручную подключить данный принтер, 7ка ругается на драйвер (там X86, надо X64), если вручную указать путь до HP upd X64 драйвера - все работает, хочется делать это же самое только автоматически через rundll32 printui.dll,PrintUIEntry.

rundll32 printui.dll,PrintUIEntry позволяет подключить расшаренные принтеры следующим образом:
Код:

rundll32 printui.dll,PrintUIEntry /in /n\\computername\printername
вот только проблема в том, что в данном случае пытается установить драйвер с удаленного компьютера, естественно неудачно - ругаясь на то, что драйвер не найден и предлагая выбрать драйвер вручную. Способа указать откуда брать inf я не нашел, при использовании /f infname.inf ругается на недопустимые параметры.

Если вначале попытаться установить нужный драйвер,
Код:

rundll32 printui.dll,PrintUIEntry /ia /f infname.inf /m "modelname"
а потом попробовать подключить принтер - драйвера опять же не находит, из-за hp universal.

В общем я перечитал мануал с сайта microsoft по rundll32 printui.dll раз 50 и не нашел способа как реализовать подключение "расшаренного" принтера с указанием драйвера. Возможно я пропустил что то, или существует какой то не очевидный способ. Буду рад если кто-нибудь сможет что-то подсказать по этой проблеме.

Petya V4sechkin 02-10-2014 17:08 2410071

Цитата:

Цитата ppccdmkml
ругается на драйвер (там X86, надо X64)

В XP можно добавить в Пуск -> Принтеры и факсы -> меню Файл -> Свойства сервера -> вкладка Драйверы.

ppccdmkml 06-10-2014 12:54 2411696

Цитата:

Цитата Petya V4sechkin
В XP можно добавить в Пуск -> Принтеры и факсы -> меню Файл -> Свойства сервера -> вкладка Драйверы. »

Что добавить? На 32 битную систему, драйвера 64 ? Нет, этого сделать нельзя, будет просто ругаться, что отсутствуют сведения об оборудовании. Или то что в ручную можно добавлять... это понятно, меня интересует добавления принтеров скриптом через bat/cmd, с возможностью указания драйвера.

mwz 06-10-2014 15:41 2411767

Цитата:

Цитата ppccdmkml
Что добавить? На 32 битную систему, драйвера 64 ? Нет, этого сделать нельзя »

Если принтер ставится на компьютер с 32-битной системой, то и можно и нужно в Свойствах принтера (в "Дополнительных драйверах" там) поставить галку для драйверов х64. И когда система после этого спросит, где они лежат – указать на папку с ними (т.е. они должны быть предварительно распакованы, хоть на флэшку хоть куда, а не лежать в виде exe-файла). Они не устанавливаются, а копируются "в загашник" и используются только тогда, когда к принтеру первый раз пытается обратится по сети каждая из 64-битных систем.

PS
И аналогично при установке принтера на машину с 64-битной ОС: тут надо сохранять дополнительно 32-битные драйверы.

Petya V4sechkin 06-10-2014 16:36 2411800

Цитата:

Цитата ppccdmkml
Нет, этого сделать нельзя

Можно.

ppccdmkml 07-10-2014 13:30 2412168

Цитата:

Цитата mwz
Если принтер ставится на компьютер с 32-битной системой, то и можно и нужно в Свойствах принтера (в "Дополнительных драйверах" там) поставить галку для драйверов х64. И когда система после этого спросит, где они лежат – указать на папку с ними (т.е. они должны быть предварительно распакованы, хоть на флэшку хоть куда, а не лежать в виде exe-файла). Они не устанавливаются, а копируются "в загашник" и используются только тогда, когда к принтеру первый раз пытается обратится по сети каждая из 64-битных систем. »

Цитата:

Цитата Petya V4sechkin
Можно. »

Ну вот как так... я вам про одно, вы мне про другое, возьмите последние upd-5.9.0.18326 с сайта hp, не важно pcl5-6 или ps и попробуйте на xp X32 или на 2003 накатить версию x64 дров. Ко всему прочему, какие флешки, экзешники, я интересуюсь про альтернативу rundll32 printui.dll,PrintUIEntry, а вы мне советуете архивы распаковывать...

В общем тему можно закрывать.

mwz 08-10-2014 12:56 2412599

Цитата:

Цитата ppccdmkml
а вы мне советуете архивы распаковывать »

"Я хочу просто молочка попить, а вы мне советуете пакет с молоком распаковать!"

Кто вам предлагал
Цитата:

Цитата ppccdmkml
на xp X32 или на 2003 накатить версию x64 дров »

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

Двойной щелчок по принтеру на машине, где он установлен – Свойства – закладка "Доступ" – кнопка "Дополнительные драйверы" (прочитайте сначала текст над ней) – галку на x64 – Ок – указать на папку, куда временно (чисто для целей этой установки) распакованы 64-битные драйверы <и т.д.>

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

PS
Заодно подключил именно таким образом к принтеру HP Laserjet 1005, стоящему под недавно установленной 64-битной Win10, компьютер с 32-битной Win-7 – скачав и распаковав те самые последние 32-битные драйверы с сайта HP; а то всё руки не доходили. :)


Время: 20:58.

Время: 20:58.
© OSzone.net 2001-