Perl для системного администрирования



         

ADSI (Интерфейсы служб активных каталогов) - часть 16


use Win32::OLE 'in';

# таблица получена из раздела

# 'Active Directory Service Interfaces 2.5->ADSI Referen.ce->

# ADSI Interfaces->Dynamic Object Interfaces->IADsPrintQueueOperations->

 lADsPrintOueueOperations Property Methods' (уф!) из ADSI 2.5 SDK

%status =

(0x00000001 => 'PAUSED', 0x00000002 => 'PENDING_DELETION',

0x00000003 => 'ERROR' , 0x00000004 => 'PAPER_JAM',

0x00000005 => 'PAPER_OUT', 0x00000006 => 'MANUAL_FEED',

0x00000007 => 'PAPER_PROBLEM', 0x00000008 => 'OFFLINE',

0x00000100 => 'IO_ACTIVE', 0x00000200 => 'BUSY',

0x00000400 => 'PRINTING', 0x00000800 => 'OUTPUT_BIN_FULL',

0x00001000 => 'NOTJWAILABLE'. 0x00002000 => 'WAITING',

0x00004000 => 'PROCESSING', 0x00008000 => 'INITIALIZING'.

0x00010000 => 'WARMING_UP'. 0x00020000 => 'TONER_LOW.

0x00040000 => TJO_TONER'. 0x00030000 => 'PAGE_PUNT'.

0x00100000 => 'USER_INTERVENTION', 0x00200000 => 'OUT_OF_MEMORY'.

0x00400000 => 'DOOR_OPEFJ', 0x00800000 => 'SEflVERJNKNOWN'.

0x01000000 => 'POWER_SAVE'):

SADsPath = "^inNT' //PrintServerNafre/PrintQ-jeueNatne":

$p = tvin32: :OLE->GetOoject($ADsPath) or aie "Невозможно полу-п-ть $ADsPat'.\^".

print "Состояние принтера " . $c->{Name}

((exists $p--"i;jt au.s}; ? $status<$c-'{atatub) t . Nji ACilVL )

Объект Printoutip имеет несколько методов для контроля очереди печати: PausoO. Это позволяет управлять действиями самой очереди. А что если мы захотим изучить или обработать конкретные задачи из очереди?

Для того чтобы добраться до самих заданий, необходимо вызвать метод PnntJobs() объекта возвращает коллекцию, состоящую из объектов PrintJob, каждый из которых имеет ряд свойств и методов. Например, вот как можно показать список заданий из определенной очереди:

use Win32::OLE

и таблица получена из раздела

и Active Directory Service Interfaces 2.5->ADSI Reference

Я ADSI Interfaces->Dynamic Object Interfaces-MADsPrintJotiOporai зспз->




Содержание  Назад  Вперед