PDA

Показать полную графическую версию : Установка сетевых принтеров


Dicken
12-01-2007, 06:13
Ктонибудь сталкивался с автоматическим подключением сетевых принтеров, я в теме: Установка клиентов терминалов, факсов и локальная установка (http://forum.oszone.net/showthread.php?t=51560) нашел нужную мне команду rundll32 printui.dll,PrintUIEntry /in /n \\server\printer, но возникает ряд проблем:

1. Драйвера в данном случае должны быть либо стандартными, либо уже установленными, в моем случае драйвера на отдельном сервере.

2. В сети имеется несколько одинаковых принтеров но с разными названиями (например: x123-1 и х123-2) и если один из них уже установлен, то при подключении второго драйвера установленные уже локально подхватываются криво (недоступны функции дополнительной настройки)

3. Сделать настройки принтера автоматически невозможно.

Vadikan
12-01-2007, 07:10
Dicken
1. А интегрировать разве нельзя?
2. ...
3. Почему? Вы проверяли, где они сохраняются? Process Monitor (http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/processmonitor.mspx) в помощь.

Dicken
12-01-2007, 07:19
Vadikan
1. А интегрировать разве нельзя?
интегрировать на каком этапе установки?
на этапе установки самой ОС это естественно не проблема.
интересует еще можно ли их интегрировать уже на установленную ОС(ХР)

Vadikan
12-01-2007, 07:44
Dicken
на этапе установки самой ОС это естественно не проблема.
интересует еще можно ли их интегрировать уже на установленную ОС(ХР)
Вы же задали вопрос в форуме Автоматической установки Windows, поэтому я и предложил интегрировать. Переношу в NT.

monkkey
12-01-2007, 10:00
Код:
//*****************************************************
//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

Dicken
12-01-2007, 10:20
monkkey
это все понятно, а как драйвера с сетевого диска подпихнуть???

Micrus
15-01-2007, 09:45
в 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

Dicken
15-01-2007, 10:25
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)

может поможешь разобраться?

Micrus
15-01-2007, 15:21
И так 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