Текущий архив: 2008.10.12;
Скачать: CL | DM;
Вниз
vbs скрипт и принтеры Найти похожие ветки
← →
TRSteep © (2008-08-21 11:43) [0]может кто нибудь подсказать со скриптами - я только начал изучать.
Изучение начал сразу на конкретной задаче: установить принтеры по сети.Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\Sekretar\Секретарь"
WshNetwork.AddWindowsPrinterConnection "\\buh7\FS-1030D"
WshNetwork.AddWindowsPrinterConnection "\\buh7\MF3110_BUH"
WshNetwork.AddWindowsPrinterConnection "\\Marketing2\HPLaserJ"
WshNetwork.AddWindowsPrinterConnection "\\marketing1\Общий отдел"
WshNetwork.SetDefaultPrinter "\\Sekretar\Секретарь"
проблемы:
1. Некоторые принтеры когда устанавливаються - говорят - мол мы установились - и кликать ОК при каждой загрузке не интерестно.
2. всем устанавливаеться один принтер по умолчанию.
нашел другой пример:"Определяем контекст комьютера
Option Explicit
Dim WSHNetwork, Computer, Path, strComputerDN, objSysInfo, objComputer, sPrintPath, PrintLocation
Dim objWMIService, colInstalledPrinters, objPrinter
Set WSHNetwork = CreateObject("WScript.Network")
On Error Resume Next
Path = WSHNetwork.ComputerName
Set objSysInfo = CreateObject("ADSystemInfo")
strComputerDN = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputerDN)
"Назначаем необходимый для установки сетевой принтер
"в зависимости от значения поля Location
Select Case objComputer.Get("Location")
Case "Отдел 1"
sPrintPath = "\\server1\HPLaserJ"
PrintLocation = "Принтер в Отделе 1"
Case "Отдел 2"
sPrintPath = "\\server2\HP1100"
PrintLocation = "Принтер HP1100 Отдел 2"
Case Else
MsgBox("Для установки принтера обратитесь к системному администратору.") :WScript.Quit
End Select
"Выполняем проверку установленных принтеров
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
If PrintLocation = objPrinter.Location Then
WScript.Quit
End If
Next
"Подключаем принтер и делаем его принтером по умолчанию
WSHNetwork.AddWindowsPrinterConnection sPrintPath
WSHNetwork.SetDefaultPrinter sPrintPath
но тут логика другая..... насколько я понял - это примерно так
они смотрят расположение принтера - и заносят переменную, смотря какое расположение и устанавливают комменты принтера
затем проверяют комменты принтера - если такие же у текущего принтера - то выходят
потом добавляют принтер из той переменной
но мне хотелось бы примерно так - подумал как бы это выглядело на делфи :)
var
Printers: array of string;
i: integer;
begin
SetLength(Printers, 2);
printer[0] := "\\Sekretar\Секретарь";
printer[1] := "\\Marketing2\HPLaserJ";
for i:=0 to hight[Printers] do
begin
if PrinterExists(Printer[i])=false then
begin
AddPrinter(Printer[i]);
end;
end;
Case PrinterPlace of
"IT": PrinterDefault(1);
"Marketing": PrinterDefault(2);
end;
не подскажите как сделать - хотя бы просто проверку есть ли принтер
и как записать принтеры в массив :)
← →
VirEx © (2008-08-22 12:33) [1]в winxp в папке system32 есть скрипты, может пригодятся:
eventquery.vbs
pagefileconfig.vbs
prncnfg.vbs
prndrvr.vbs
prnjobs.vbs
prnmngr.vbs
prnport.vbs
prnqctl.vbs
pubprn.vbs
ищи в инете ScriptomaticV2.hta - от мелкософта с 2004 года, поможет тебе генерить скрипты для WMI запросов (удобная штука, для своей инвентаризации сделал чтобы INI файлы генерила со всеми возможными свойствами namespases)
Страницы: 1 вся ветка
Текущий архив: 2008.10.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.017 c