![]() |
Сетевые принтеры.
Здравствуйте. Есть ли простой способ сменить ip-адрес "server" в "\\server\printer" при помощи командной строки?
\\192.168.1.5\hp5505 = \\10.20.1.5\hp5505 Заранее спасибо. |
Посмотрите здесь: Добавление принтера без вмешательства пользователя в Windows. Можете попробовать последовательное выполнение команд по удалению существующего принтера и добавлению нового.
|
Blast, смущает необходимость указания и установки драйверов...необходима универсальность. Предположим, получу имя компьютера, наименование принтера...а драйвера...хм, может есть другие варианты? Может в реестре какое-нибудь значение сменить? Хотелось бы каким-нибудь bat-ником производить замену. Если есть такая возможность.
|
Blast, нашёл такой сценарий. Что Вы о нём думаете? как ему можно передавать параметры имени старого и нового сервера для каждого принтера?
код
Цитата:
|
Цитата:
Чтение реестра и разбор полученной строки для определения принтера по умолчанию вместо использования Wbem также не сильно радуют. |
Iska, сегодня решил что-нибудь состряпать в свободное время...как получится...просьба сильно не ругаться и указать на ошибки:
bat
for /f "Skip=1 tokens=4 delims=. " %%i In ('WMIC Printer Where default^=TRUE Get ServerName^') do set ipprint=%%i if %ipprint% lss 1 exit for /f "Skip=1 delims=" %%i In ('WMIC Printer Where default^=TRUE Get ShareName^') do set nprint=\\10.20.1.%ipprint%\%%i && goto 1 :1 %windir%\system32\cscript.exe instpr.vbs //nologo //b %nprint% vbs
if wscript.Arguments.Count=0 then WScript.Quit else Set WshNetwork = WScript.CreateObject("WScript.Network") PrinterPath = wscript.Arguments(0) WshNetwork.AddWindowsPrinterConnection PrinterPath WshNetwork.SetDefaultPrinter PrinterPath End if WScript.Quit P.S.: Наверно, бессмысленно было добавлять в vbs оператор ЕСЛИ...но так,на всякий... |
Сработает ли через групповую политику?
upd: C некоторыми исправлениями, работает. |
Время: 00:42. |
Время: 00:42.
© OSzone.net 2001-