Показать полную графическую версию : Установка сетевых принтеров
Ктонибудь сталкивался с автоматическим подключением сетевых принтеров, я в теме: Установка клиентов терминалов, факсов и локальная установка (http://forum.oszone.net/showthread.php?t=51560) нашел нужную мне команду rundll32 printui.dll,PrintUIEntry /in /n \\server\printer, но возникает ряд проблем:
1. Драйвера в данном случае должны быть либо стандартными, либо уже установленными, в моем случае драйвера на отдельном сервере.
2. В сети имеется несколько одинаковых принтеров но с разными названиями (например: x123-1 и х123-2) и если один из них уже установлен, то при подключении второго драйвера установленные уже локально подхватываются криво (недоступны функции дополнительной настройки)
3. Сделать настройки принтера автоматически невозможно.
Dicken
1. А интегрировать разве нельзя?
2. ...
3. Почему? Вы проверяли, где они сохраняются? Process Monitor (http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/processmonitor.mspx) в помощь.
Vadikan
1. А интегрировать разве нельзя?
интегрировать на каком этапе установки?
на этапе установки самой ОС это естественно не проблема.
интересует еще можно ли их интегрировать уже на установленную ОС(ХР)
Dicken
на этапе установки самой ОС это естественно не проблема.
интересует еще можно ли их интегрировать уже на установленную ОС(ХР)
Вы же задали вопрос в форуме Автоматической установки Windows, поэтому я и предложил интегрировать. Переношу в NT.
Код:
//*****************************************************
//JScript 2005 ShS addPrn.js
//Подключение сетевого принтера и установка его принтером по умолчанию
//Пример запуска: %LOGONSERVER%\NETLOGON\addPrn.js \\mg-srv-f04\HPLJ2200DN(23)
//*****************************************************
var WshNetwork,
objArgs,
strErrMsg,
strPrinterPath;
//Путь к подключаемому принтеру берем из параметров запуска
objArgs=WScript.Arguments.Unnamed;
strPrinterPath=objArgs.Item(0);
//
WshNetwork=WScript.CreateObject("Wscript.Network");
try
{
WshNetwork.AddWindowsPrinterConnection(strPrinterPath);
WshNetwork.SetDefaultPrinter(strPrinterPath);
}
catch (objError)
{
if (objError !=0)
{
strErrMsg = "Произошла ошибка при подключении сетевого принтера - "+strPrinterPath+"\n"+
"Скорее всего, указанный сетевой путь не существует"+"\n\n"+
"Обратитесь к системному администратору по тел. 911"
//"Код ошибки: "+ objError.number;
WScript.Echo(strErrMsg);
}
}
forum.sysadmins.ru
monkkey
это все понятно, а как драйвера с сетевого диска подпихнуть???
в Portable Script Center есть пример
Installing a Printer Driver not Found in Drivers Cab
Script Code
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = "NewPrinter Model 2900"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriverPath = "C:\Scripts\NewPrinter.dll"
objInfname = "C:\Scripts\NewPrinter.inf"
intResult = objDriver.AddPrinterDriver(objDriver)
Wscript.Echo intResult
Micrus да я это уже нашел, также нашел подключение принтера:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery _
("Select * From Win32_Printer Where Local = TRUE")
Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection "\\PrintServer1\Xerox300"
If colPrinters.Count = 0 Then
objNetwork.SetDefaultPrinter "\\PrintServer1\Xerox300"
End If
проблема теперь в том что драйвер ставится, но принтер неподключается, пишет
ошибка: неизвестный драйвер принтера
код: 80070705
источник: (null)
может поможешь разобраться?
И так Dicken, привожу пример
Пусть есть у нас драйвер для RICOH 2020D
Сначала распакуем его C:\Temp\r09114en\disk1\
Далее ищем в файле в секции [RICOH] имя принтера(objDriver.Name)
а в секции [RIC619_DATA] параметр DriverFile=RIC619K.DLL
и внизу скрипт, остается только сделать два действия подключить сетевой диск , если драйвера у тебя на шаре и после подключить принтер
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = "RICOH Aficio 2020D PCL 6"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = "C:\Temp\r09114en\disk1\RIC619K.DLL"
objDriver.Infname = "C:\Temp\r09114en\disk1\OEMSETUP.INF"
intResult = objDriver.AddPrinterDriver(objDriver)
Wscript.Echo intResult
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.