Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1220095559
biver64
2008-08-30 15:25
2008.10.12
Коприрование папки!


2-1220610091
Fynjy
2008-09-05 14:21
2008.10.12
процедура после FormShow


15-1219088046
Тимохов
2008-08-18 23:34
2008.10.12
Helpdesk и работа с пользователями


2-1220596372
Fynjy
2008-09-05 10:32
2008.10.12
В Form2 получается строка, которую нужно передать в Form1


15-1219210687
ееееееекенитен
2008-08-20 09:38
2008.10.12
разрезать файл