Основы работы с Windows Script Host

Арендный блок

Лабораторная работа

по дисциплине Информационная безопасность

1

Основы работы с Windows Script Host

Сервер сценариев Windows Script Host (WSH) – это инструмент, позволяющий создавать специальные сценарии, работающие непосредственно в операционной системе Windows и использующие внешние объекты ActiveX. Различные версии сервера сценариев Windows Script Host (WSH) входят в стандартную поставку Windows 98/2000/NT/XP. Сценарии WSH могут создаваться с помощью специализированных языков (например, Microsoft Visual Basic Script Edition (VBScript) или Microsoft JScript). Windows Script Host (WSH) используется при работе с системой безопасности компьютера, создание систем авторизации, определения параметров системы.

С помощью внутренних объектов WSH из сценариев можно выполнять следующие основные задачи:

·       выводить информацию в стандартный выходной поток (на  экран) или в диалоговое окно Windows;

·       читать данные из стандартного входного потока (т.е. вводить данные с клавиатуры) или использовать информацию, выводимую другой командой;

·       использовать свойства и методы внешних объектов, а также обрабатывать события этих объектов (т.е. которые генерируются этими объектами);

·       запускать  новые  независимые процессы или активизировать уже имеющиеся;

·       запускать дочерние процессы с возможностью контроля их состояния и доступ к их стандартным входным и выходным потокам;

·       работать с локальной сетью: определять имя зарегистрировавшегося  пользователя, подключать сетевые диски и принтеры;

·       просматривать и изменять переменные среды;

·       получать доступ к специальным папкам Windows;

·       создавать ярлыки Windows;

·       работать с системным реестром.

 

Объект WScript

Объект WScript  объект можно использовать сразу, без какого-либо предварительного описания или создания, т.к. его экземпляр создается сервером сценариев WSH автоматически. Для использования же других объектов нужно использовать либо метод CreateObject, либо определенное свойство другого объекта. Объект WScript  поддерживает несколько свойств и методов:

Свойства объекта WScript 

СвойствоОписаниеApplicationПредоставляет интерфейс IDispatch (интерфейс сервера сценариев) для объекта WScript  ArgumentsСодержит указатель на коллекцию WshArguments, содержащую параметры командной строки для исполняемого сценарияFullNameСодержит полный путь к исполняемому файлу сервера сценариев (в Windows 2000/XP обычно это C:\WINDOWS\system32\csript.exe для консольной версии WSH  или C:\WINDOWS\system32\wsript.exe для оконной версии)Name Содержит название объекта WScript  (Window Scripting Host) PathСодержит путь к каталогу, в котором находится wscript.exe или cscript.exe (в Windows 2000/XP обычно это C:\WINDOWS\system32)ScriptFullNameСодержит полный путь  к запущенному сценариюScriptNameСодержит имя запущенного сценарияStdErrПозволяет запущенному сценарию записывать сообщения в стандартный поток для ошибокStdInПозволяет запущенному сценарию читать информацию из стандартного входного потокаStdOutПозволяет запущенному сценарию записывать информацию в стандартный выходной потокVersion Содержит версию WSH

 Методы объекта WScript 

Метод Описание СreateObject (strProgID [, srtPrefix])Создает объект, заданный  параметром strProgID  ConnectObject (strObject, srtPrefix)Устанавливает соединение с объектом strObject, позволяющее писать функции-обработчики его событий (имена этих должны начинаться с префикса srtPrefix)DisconnectObject (obj)Отсоединяет объект obj, связь с которым была предварительно установлена в сценарииEcho ([Arg1][,Arg2][…])Выводит текстовую информацию на консоль или в диалоговое окно GetObject (strPathname[,strPrefID], [strPrefix])Активизирует объект автоматизации, определяемый заданным файлом  (параметр strPathName ) или объект, заданный параметром strPrefIDQuit ([intErrorCode])Показывает выполнение сценария с заданным параметром intErrorCode кодом выхода. Если параметр intErrorCode не задан, то объект WScript  установит код выхода равным нулю Sleep (intTime)Приостанавливает выполнения сценария (переводит его в неактивное состояние) на заданное параметром intTime  число миллисекунд

   

Файлы сценариев WSH представляют собой, написанные на JScript (эти файлы имеют расширение .js или .jse) или VBScript (соответственно, файлы с расширением .vbs). В качестве редактора можно использовать блокнот.

Приведенные примеры созданы с использованием JScript.

Пример 1 (WScript.echo);

var s; //Объявление переменной

   // Формирование строки

s="Лабораторная работа N 3\n"+

   "Работа с файловой системой WSH\n"+

   "Выполнил ст-т гр. ПК-11Д\n";

WScript.Echo (s); // Печать строки

Задания:

  •  Создать окно вывода собственных данных студента;
  •  Создать окно вывода сведений о полном и кратком имени сценария;
  •  Создать два последовательных окна информации об имени приложения и о полном имени приложения;
  •  Объединить все окна в один скрипт.

 

Пример 2. Занесение параметров командной строки в массив args:

var i, n, objArgs, s, args;  // Объявляем переменные

objArgs = WScript.Arguments;  // Создаем объект WshArguments

  // Определяем общее количество аргументов

n = objArgs.Count();

s = "Всего аргументов: "+n+"\n";

args = new Array(n);

  // цикл по коллекции аргументов

for (i=0; i <= n-1; i++) {

  s += objArgs(i)+"\n";  // Формируем строки с аргументами

  args[i] = objArgs(i); // Записываем в массив

}

WScript.Echo(s);  // Выводим сформированные строки

Задания:

  •  Создать скрипт вывода окна с отсутствующими на занятиях;
  •  Создать скрипт вывода окна групп на факультете;

Пример 3 Поиск в текущем каталоге файла наибольшего размера:

var FSO, Path, Fold, F, i = 0, CurSize, MaxSize = 0, MaxF, s;

FSO = WScript.CreateObject("Scripting.FileSystemObject");

    // получаем доступ к текущему каталогу

Path = FSO.GetParentFolderName(WScript.ScriptFullName);

Fold = FSO.GetFolder(Path);

    // Создаем коллекцию файлов

F = new Enumerator(Fold.Files);

    // Цикл по всем файлам

while ( ! F.atEnd()) {

    CurSize = F.item().Size; // размер текущего файла

      // сравниваем размер

    if (CurSize > MaxSize) {

        MaxSize = CurSize;  // новый максимум

        MaxF = F.item(); // файл наибольшего размера

    }

      // Переходим к следующему файлу

    F.moveNext();

    i++; // кол-во просмотренных файлов

} // while

s = "В текущем каталоге "+ Fold.Name + " "+i+" файлов.\n"+

    "Максимальный размер имеет "+MaxF.Name+" = "+

     Math.round(MaxSize/1024) + " Кб";

WScript.echo(s);

Задания:

  •  Создать программу нахождения файла наименьшего размера
  •  Создать программу вывода имен файлов меньше определенного размера

 

     Пример 4 Записать в протокол дату

var FSO = WScript.CreateObject("Scripting.FileSystemObject") ;

 // Создаем текстовый файл

var F = FSO.CreateTextFile("log.txt", true);

 // Записываем строку в файл

var D = new Date();

F.WriteLine("Протокол работы от :"+D.toLocaleDateString());

 // Закрываем файл

F.Close(); 

Задания:

  •  Создать протокол с версией WSH
  •  Создать протокол с полным именем созданного скрипта

     Пример 5 Организовать проверку правильности запуска программы

//Пример запуска программы с диалоговым окном запроса

//на JScriptvar

vbOKCancel = 1;

var vbInformation = 64;

var vbCancel = 2;

var Message = "Вы действительно хотите запустить программу Notepad?";

var Title = "Подтвердите действие";

Welcome();

var WSHShell = WScript.CreateObject("WScript.Shell");

WSHShell.Run("notepad",5);

function Welcome()

{ var WSHShell = WScript.CreateObject("WScript.Shell"); var intDoIt;

intDoIt = WSHShell.Popup(Message, 0, Title, vbOKCancel + vbInformation ); if (intDoIt == vbCancel) { WScript.Quit();

}

}

  •  Окно запуска текстового редактора Word
  •  Окно запуска командной строки

2

Методы и свойства объекта WshShell (создаем файлы *.vbs)

Объект WshShell  служит для работы с переменными окружения Windows, специальными папками, запускает другие программы, создает ярлыки и т.д.  Для его использования его необходимо создать методом CreateObject.

Set WshShell = CreateObject(“WScript.Shell”) 

Информация о системе 

Свойство Environment объекта WshShell, позволяет работать с системными переменными окружения. Для этого создается объект WshEnvironment

Синтаксис:  

WshShell.Environment([strType]) 

где

strType – может принимать параметры "System", "User", "Volatile" или "Process" .

Значение “Volatile" используется для работы с данными, передаваемыми другими программами, а "System", "User" и "Process" используются для работы с системными данными.

Таблица системных данных среды, доступных с помощью значений "System", "User" и "Process"

Объект  Environment, как и все  коллекции WSH, имеет свойство Count, в котором хранится число элементов коллекции, и метод  Item.

Следующий пример выводит на экран некоторые системные данные

VBScript:

'создаем объект WshShell:

Set WshShell = WScript.CreateObject("WScript.Shell")

'создаем объект Environment со значением PROCESS:

Set WshProEnv = WshShell.Environment("PROCESS")

SysInfo = "Системные параметры компьютера:" + Chr(10)+ Chr(10)

SysInfo = SysInfo + "Процессоров: " + _

WshProEnv("NUMBER_OF_PROCESSORS") + Chr(10)

SysInfo = SysInfo + "Директория Windows: " + _

WshProEnv("WINDIR") + Chr(10)

SysInfo = SysInfo + "Временная папка: " + WshProEnv("TEMP") + Chr(10)

MsgBox SysInfo

Запуск приложений (создаем файлы *.vbs)

С помощью метода Run объекта WshShell мы можем запускать другие приложения.

Синтаксис:

object.Run (strCommand, [intWindowStyle], [bWaitOnReturn]) 

где

object - объект WshShell 

strCommand - исполняемая команда

Особенностью синтаксиса данного метода является то, что при использовании всех параметров скобки ( ) опускаются.

Необязательные параметры:

intWindowStyle - стиль окна запускаемого приложения

bWaitOnReturn - может принимать значение true или false, указывающее, следует ли сценарию дожидаться окончания выполнения запущенного приложения. true - выполнение сценария приостанавливается до тех пор, пока не будет закрыто запущенное приложение. false - не дожидаться.

Значения, принимаемые параметром intWindowStyle:

ЗначениеОписание0Запуск в скрытом виде1Обычный размер окна, если окно свернуто или развернуто на весь экран, то ему возвращается исходный вид и положение на экране2Запуск в свернутом виде3Развернутое на весь экран4Запуск в обычном размере, в неактивном состоянии (без фокуса)8Обычный размер в неактивном состоянии, но в фокусе остается запустившее приложение

Метод Run не может вызвать приложение, если оно расположено в папке, путь к которой содержит пробелы. В этом случае путь надо заключить в тройные кавычки.

В качестве примера, с помощью метода Run запустим программу Блокнот, с загруженным вызывающим сценарием.

Dim WshShell 

'Создаем объект WshShell: 

Set WshShell = WScript.CreateObject("WScript.Shell") 

'Вызываем Блокнот и добавляем к нему в качестве параметра 

'путь исполняемого сценария: 

WshShell.Run ("%windir%\notepad " & WScript.ScriptFullName) 

  1.  Практическое задание

Создайте файлы сценариев, которые выполняю следующие операции:

  1.  Выводит сведения о системе (см. таблицу).

№ вариантаСведения о системе1Операционная система, Директория Windows2Расширенные данные о процессоре, Поколение процессора3Заданные системные пути, директория Windows 4Тип процессора, Операционная система5Количество процессоров на данном компьютере, Заданные системные пути6Диск на котором находится директория с операционной системой, Каталог по умолчанию для пользователей 7Первый локальный диск, поколение процессора8Путь к файлу командной строки, папка для временных файлов 9Тип процессора, заданные системные пути10Заданные системные пути, поколение процессора11Каталог по умолчанию для пользователей, Операционная система12Расширенные данные о процессоре, Операционная система

  1.  Запускает приложение (на Ваш выбор) из пункта меню Стандартные  с заданными параметрами (см. таблицу).

№ вариантаСтиль окна запускаемого приложения1Обычный размер в неактивном состоянии, но в фокусе остается запустившее приложение2Развернутое на весь экран3Запуск в скрытом виде4Запуск в свернутом виде5Запуск в скрытом виде6Развернутое на весь экран7Запуск в обычном размере (без фокуса)8Развернутое на весь экран9Запуск в скрытом виде10Развернутое на весь экран11Запуск в обычном размере (без фокуса)12Развернутое на весь экран

← Предыдущая
Страница 1
Следующая →

Скачать

Лабораторная работа ИБ.doc

Лабораторная работа ИБ.doc
Размер: 107.5 Кб

Бесплатно Скачать

Пожаловаться на материал

Лабораторная работа по дисциплине Информационная безопасность. Сервер сценариев Windows Script Host (WSH). Сценарии WSH

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Похожие материалы:

История Тест 6 класс 1й вариант

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

Дипломная работа на тему \"криминалистическая тактика следственного осмотра\". Можно подвести некоторые итоги. Прежде всего, следует отметить, что результаты следственного осмотра могут быть использованы при проведении почти всех следственных действий. Однако чтобы пользоваться этими результатами необходимо, чтобы эти результаты были.

Кредит в ринковій економіці

Поняття і види кредитів. Принципи кредитування. Порядок отримання кредиту. Порядок погашення позики і відсотків. Поняття депозитних рахунків.

Контрольная работа по дисциплине «Экономика предприятия»

Философия

Содержание предмета философии. Философское исследование природы. Человек в древнегреческой философии. Особенности научного знания и познания. Развитие науки и смена типов научной рациональности. Смысл человеческого бытия.

Сохранить?

Пропустить...

Введите код

Ok