Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СПО_1 / лаб / СПО_лаб

.pdf
Скачиваний:
17
Добавлен:
03.03.2016
Размер:
340.28 Кб
Скачать

WScript.Echo "Time: " & Now

У сценарії (Лістинг 2.1) відбувається очікування першої події, викликаної створенням, модифікацією, або видаленням екземпляра класу

Win32_Process; виводиться ім'я класу події, інформація про процес, що викликав подію і час. У даному сценарії відбувається обробка лише однієї події. Для того, щоб опит відбувайся постійно, необхідно помістити в сценарій безконечний цикл (Лістинг 2.2).

Лістинг 2.2. Обробка подій в циклі.

Set objWMIService = GetObject("winmgmts:")

Set colMonitorProcess = _

objWMIService.ExecNotificationQuery _ ("SELECT * FROM __InstanceOperationEvent " _

&" WITHIN 1 WHERE TargetInstance ISA " _

&"'Win32_Process'")

WScript.Echo "Чекання події ..."

Do

Set objLatestEvent = colMonitorProcess.NextEvent WScript.Echo objLatestEvent.Path_.Class Wscript.Echo "Process Name: " & _

objLatestEvent.TargetInstance.Name Wscript.Echo "Process ID: " & _

objLatestEvent.TargetInstance.ProcessId WScript.Echo "Time: " & Now

Loop

Запуск таких сценаріїв необхідно виконувати в консольному режимі. Для

завершення – натискувати комбінацію клавіш Ctrl+C.

21

Хід роботи

1. Скласти сценарій, що виконує запуск певної програми, очікує її

завершення і виводе на екран інформацію про час її роботи у форматі:

Час запуску:

12:10:00

Час завершення:

12:15:10

Тривалість роботи:

00:05:10

2. Скласти сценарій, що забороняє запуск певної програми. При спробі запуску даної програми, її робота має бути завершена, і на екран має бути виведене повідомлення про спробу запуску. Якщо кількість дозволених копій більше 0, то забороняти запуск необхідно лише екземпляри програми, що перевищують вказане число.

Застосування і кількість дозволених копій вибираються по варіанту з таблиці. 2.1.

 

 

 

Таблиця 2.1

 

Варіанти завдань для запуску процесу

 

 

 

 

Програма

Кількість

в-та

 

 

дозволених копій

виконуваний файл

назва

 

 

 

 

1

notepad.exe

Notepad

2

 

 

 

 

2

calc.exe

Calculator

3

 

 

 

 

3

charmap.exe

Character Map

1

 

 

 

 

4

clipbrd.exe

ClipBook Viewer

0

 

 

 

 

5

eventvwr.exe

Event Viewer

1

 

 

 

 

6

mplay32.exe

Media Player

3

 

 

 

 

7

osk.exe

On-Screen Keyboard

0

 

 

 

 

8

perfmon.exe

Performance Monitor

0

 

 

 

 

9

taskmgr.exe

Windows Task Manager

0

 

 

 

 

 

 

 

22

Програма

Кількість

в-та

 

 

дозволених копій

виконуваний файл

назва

 

 

 

 

10

write.exe

WordPad

2

 

 

 

 

11

telnet.exe

Microsoft Telnet Client

0

 

 

 

 

12

cmd.exe

Command Line

1

 

 

 

 

Контрольні запитання

1.Призначення служби роботи з подіями WMI.

2.Реєстрація подій.

3.Метод ExecNotificationQuery() об'єктів класу SWbemServices.

4.Синтаксис WQL запиту реєстрації події.

5.Клас __InstanceOperationEvent і його підкласи.

6.Клас SWbemEventSource.

7.Метод NextEvent класу SWbemEventSource.

8.Об'єкт TargetInstance.

23

Лабораторна робота № 3

Збір інформації про пам'ять і планування завдань. Робота з файловою системою

Мета роботи: навчиться отримувати інформацію про фізичну і віртуальну пам'ять, вивчити способи управління плануванням завдань за допомогою WMI, навчиться працювати з файловою системою Windows за допомогою сценаріїв WMI.

Вступ

I Збір інформації про пам'ять і планування завдань.

Основну інформацію про загальний і вільний об'єм фізичної і віртуальної пам'яті можна отримати за допомогою класу Win32_OperatingSystem.

Основні властивості цього класу, що містять інформацію про пам'ять наступні:

FreePhysicalMemory – об'єм вільної фізичної пам'яті;

FreeSpaceInPagingFiles – об'єм пам'яті в сторінкових файлах

доступний без вивантаження сторінок;

FreeVirtualMemory – об'єм вільної віртуальної пам'яті;

MaxProcessMemorySize – максимальний об'єм пам'яті, який може

зайняти процес.

SizeStoredInPagingFiles – загальний об'єм інформації, який може бути збережений в сторінкових файлах;

TotalSwapSpaceSize – загальний об'єм пам'яті в сторінкових

файлах;

TotalVirtualMemorySize – загальний об'єм віртуальної пам'яті.

24

Інформація про банки фізичної пам'яті відображується в класі

Win32_PhysicalMemory. У властивості Capacity даного класу зберігається об'єм одного банку фізичної пам'яті.

Сторінкові файли в WMI представлені екземплярами класу

Win32_PageFile. Основні властивості цього класу наступні:

Name – назва сторінкового файлу;

MaximumSize – максимальний розмір сторінкового файлу

встановлюваний користувачем; операційна система не може перевищити це значення;

InitialSize – початковий розмір сторінкового файлу;

FreeSpace – об'єм, доступний в сторінковому файлі.

Для планування завдань використовується клас Win32_ScheduledJob.

Основні властивості цього класу:

 

 

Command – командний рядок запуску програми.

 

DaysOfMonth –

число місяця, коли завдання повинно виконуватися.

Якщо завдання повинно

виконуватися кілька разів в місяць, коди чисел

з'єднуються логічною операцією OR.

 

 

 

 

 

 

Таблиця 3.1

Коди чисел місяця у властивості DaysOfMonth

 

 

 

 

Шістнадцятирічне значення

 

Десяткове значення

Число місяця

 

 

 

 

 

0x1

 

 

1

1-е

 

 

 

 

 

0x2

 

 

2

2-е

 

 

 

 

 

0x4

 

 

4

3-е

 

 

 

 

 

0x8

 

 

8

4-е

 

 

 

 

 

0x10

 

 

16

5-е

 

 

 

 

 

0x20

 

 

32

6-е

 

 

 

 

 

 

 

 

 

25

Шістнадцятирічне значення

Десяткове значення

Число місяця

 

 

 

0x40

64

7-е

 

 

 

0x80

128

8-е

 

 

 

0x100

256

9-е

 

 

 

0x200

512

10-е

 

 

 

0x400

1024

11-е

 

 

 

0x800

2048

12-е

 

 

 

0x1000

4096

13-е

 

 

 

0x2000

8192

14-е

 

 

 

0x4000

16384

15-е

 

 

 

0x8000

32768

16-е

 

 

 

0x10000

65536

17-е

 

 

 

0x20000

131072

18-е

 

 

 

0x40000

262144

19-е

 

 

 

0x80000

524288

20-е

 

 

 

0x100000

1048576

21-е

 

 

 

0x200000

2097152

22-е

 

 

 

0x400000

4194304

23-е

 

 

 

0x800000

8388608

24-е

 

 

 

0x1000000

16777216

25-е

 

 

 

0x2000000

33554432

26-е

 

 

 

0x4000000

67108864

27-е

 

 

 

0x8000000

134217728

28-е

 

 

 

0x10000000

268435456

29-е

 

 

 

0x20000000

536870912

30-е

 

 

 

0x40000000

1073741824

31-е

 

 

 

 

 

26

DaysOfWeek – день тижня, коли завдання повинне виконуватися.

Якщо завдання повинне виконуватися кілька разів в тиждень, коди днів тижня з'єднуються логічною операцією OR.

 

 

Таблиця 3.2

Коди днів тижня у властивості DaysOfWeek

 

 

 

Шістнадцятирічне значення

Десяткове значення

День тижня

 

 

 

0x1

1

Понеділок

 

 

 

0x2

2

Вівторок

 

 

 

0x4

4

Середа

 

 

 

0x8

8

Четвер

 

 

 

0x10

16

П'ятниця

 

 

 

0x20

32

Субота

 

 

 

0x40

64

Неділя

 

 

 

InteractWithDesktop – визначення завдання як інтерактивного.

Завдання називають інтерактивним, якщо користувач може здійснювати введення інформації в програму, що запускається.

JobId – ідентифікатор завдання.

RunRepeatedly – False, якщо завдання виконується один раз;

True – якщо завдання виконується кілька разів в призначені дні. StartTime – час виконання завдання у форматі

“YYYYMMDDHHMMSS.MMMMMM(+-)ООО”, де “YYYYMMDD” має бути замінене “********”, оскільки необхідно задати лише час, без дати. “(+-)ООО” задає різницю між часом GMT і локальним часом. Для України це значення повинне складати “+120”. Приклад: 12.30 в даному форматі записується таким чином: “********123000.000000+120”.

У класі Win32_ScheduledJob визначені методи Create і Delete для створення і видалення завдань.

Метод Create має наступні параметри:

27

Create

(Command,

StartTime,

RunRepeatedly,

DeysOfWeek, DaysOfMonth, InteractWithDesktop, JobId)

Метод Create повертає 0 в разі успішного призначення завдання і код помилки інакше. Також параметр JobId служить для передачі в сценарій ідентифікатора створеного завдання.

Метод Delete викликається без параметрів. Повертає 0 у разі успішного видалення завдання і код помилки інакше.

II Робота з файловою системою

Для роботи з файловою системою в WMI існують наступні класи:

Win32_LogicalDisk – для отримання інформації про логічні диски;

CIM_DataFile – для роботи з файлами;

Win32_Directory – для роботи з папками.

Основними властивостями класу Win32_LogicalDisk є:

DEVICEID – ідентифікатор логічного диску;

DriveType – тип логічного диску:

2 – змінний диск, 3 – жорсткий диск, 4 – мережевий диск

5 – CD-ROM, 6 – RAM диск;

FileSystem – тип файлової системи;

FreeSpace – об'єм доступного дискового простору.

Основні властивості класу CIM_DataFile наступні:

CreationDate – дата і час створення файлу;

Drive – диск, на якому зберігається файл;

Extension – розширення;

FileName – просте ім'я файлу без розширення;

FileSize – розмір файлу;

FileType – тип файлу, що асоціюється з його розширенням;

FSName – тип файлової системи;

28

LastAccessed – дата і час останнього доступу до файлу;

LastModified – дата і час останньої модифікації файлу;

Name – повне ім'я файлу;

Path – дорога.

Для копіювання, перейменування і видалення файлу клас

CIM_DataFile містить методи Copy(FileName), Rename(FileName), і

Delete() відповідно.

Клас Win32_Directory містить аналогічні властивості і методи, що і перераховані вище властивості і методи класу CIM_DataFile.

Хід роботи

1.Скласти сценарій для визначення об'ємів пам'яті (таблиця 3.3). У

сценарії необхідно реалізувати запис даних в текстовий файл. Кожен запуск сценарію дописує дані у файл, а не створює новий.

2.Скласти сценарій що створює заплановане завдання (Scheduled Task), що здійснює запуск сценарію п.1. Дату і час виконання завдання див.

утаблиці 3.3.

3.Скласти сценарії перегляду і видалення запланованих завдань, в

яких реалізувати перегляд всіх завдань з виведенням ідентифікатора JobId і

видалення завдань поодинці, з введенням ідентифікатора завдання, що видаляється.

 

 

 

 

Таблиця 3.3

 

 

Варіанти завдань

 

 

 

 

 

 

Пам'ять

 

Дата запуску завдання

Час запуску

 

завдання

 

 

 

 

 

 

 

 

 

1

Загальний і вільний об'єм

 

Понеділок і п'ятниця

14.30

 

фізичної пам'яті

 

 

 

 

 

 

 

 

 

 

 

 

29

Пам'ять

Дата запуску завдання

Час запуску

завдання

 

 

 

 

 

 

 

2

Загальний і вільний об'єм

З понеділка по четвер

18.00

 

файлу підкачки

 

 

 

 

 

 

3

Загальний і вільний об'єм

Субота і неділя

8.30

 

віртуальної пам'яті

 

 

 

 

 

 

4

Загальний і вільний об'єм

Вівторок і четвер

10.00

 

фізичної пам'яті

 

 

 

 

 

 

5

Загальний і вільний об'єм

5, 10, 15, 20 ,25, 30 числа

17.30

 

файлу підкачки

кожного місяця

 

 

 

 

 

6

Загальний і вільний об'єм

Понеділок і четвер

12.00

 

віртуальної пам'яті

 

 

 

 

 

 

7

Загальний і вільний об'єм

7, 14, 21, 28 числа

13.10

 

фізичної пам'яті

кожного місяця

 

 

 

 

 

8

Загальний і вільний об'єм

1, 15 числа кожного

17.50

 

файлу підкачки

місяця

 

 

 

 

 

9

Загальний і вільний об'єм

З понеділка по п'ятницю

7.20

 

віртуальної пам'яті

 

 

 

 

 

 

10

Загальний і вільний об'єм

П'ятниця і субота

22.00

 

фізичної пам'яті

 

 

 

 

 

 

11

Загальний і вільний об'єм

14, 28 числа кожного

9.40

 

файлу підкачки

місяця

 

 

 

 

 

12

Загальний і вільний об'єм

10, 20, 30 числа кожного

8.50

 

віртуальної пам'яті

місяця

 

 

 

 

 

4. Скласти сценарій отримання інформації про логічні диски. Вивести список логічних дисків з ідентифікатором диска і типом файлової системи. Для логічних дисків, що є розділами жорсткого диска відображувати доступний дисковий простір.

30