Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

Рис. 4.29. Диалоговое окно для создания нового правила для пути

После ввода такого дополнительного правила SRP на машине нельзя будет запускать сценарии с расширением vbs. При попытке выполнения VBScript- сценария будет выведено диалоговое окно с информацией о невозможности его запуска (рис. 4.30).

Также в разделе Дополнительные правила (Additional rules) имеется возможность создать правило для хеша (хеш — Это серия байтов фиксированной длины, которая рассчитывается по специальному алгоритму и однозначно идентифицирует содержимое файла). С помощью этого правила можно запретить выполнение файла, имеющего заданный хеш. Однако для сценариев, в отличие от компилированных исполняемых модулей, это не является подходящим ограничением, т.к. хеш файла со сценарием можно изменить простым добавлением пустой строки в текст сценария.

Рис. 4.30. Блокировка сценариев WSH с помощью дополнительных правил SRP 

Блокировка сценариев с заданной подписью

Еще одним возможным ограничением является запрет на выполнение файлов, подписанных с помощью определенного цифрового сертификата ("Попов ненадежный", например).

Рис. 4.31. Диалоговое окно для создания нового правила для сертификата

Для этого нужно в разделе Дополнительные правила (Additional rules) создать новое правило для сертификата (Certificate Rule) (пункт Создать правило для сертификата (New Certificate Rule) в меню Действие (Action)). В диалоговом окне Создание правила для сертификата (New Certificate Rule) в качестве имени субъекта сертификата (Certificate subject name) укажем с помощью кнопки Обзор (Browse) файл C:\Script\Попов.cer (процесс создания этого файла описан в разд. "Управление сертификатами с помощью ММС"), а в раскрывающемся списке Уровень безопасности (Security level) выберем значение "Не разрешено" ("Disallowed") — рис. 4.31.

После ввода этого дополнительного правила SRP на машине нельзя будет запускать никакие исполняемые файлы (сценарии WSH в том числе), которые подписаны с использованием сертификата "Попов ненадежный".

Глава 5

Доступ из сценариев к файловой системе

Сценарии WSH позволяют получить полный доступ к файловой системе компьютера, в отличие от JScript- или VBScript-сценариев, внедренных в HTML-страницы, где в зависимости от уровня безопасности, который устанавливается в настройках браузера, те или иные операции могут быть запрещены.

Выполнение основных операций с файловой системой

Для работы с файловой системой из сценариев WSH предназначены восемь объектов, главным из которых является

FileSystemObject
. С помощью методов объекта
FileSystemObject
можно выполнять следующие основные действия:

копировать или перемещать файлы и каталоги;

удалять файлы и каталоги;

создавать каталоги;

создавать или открывать текстовые файлы;

создавать объекты

Drive
,
Folder
и
File
для доступа к конкретному диску, каталогу или файлу соответственно.

С помощью свойств объектов

Drive
,
Folder
и
File
можно получить детальную информацию о тех элементах файловой системы, с которыми они ассоциированы. Объекты
Folder
и
File
также предоставляют методы для манипулирования файлами и каталогами (создание, удаление, копирование, перемещение); эти методы в основном копируют соответствующие методы объекта
FileSystemObject
.

Кроме этого, имеются три объекта-коллекции:

Drives
,
Folders
и
Files
. Коллекция
Drives
содержит объекты
Drive
для всех имеющихся в системе дисков,
Folders
— объекты
Folder
для всех подкаталогов заданного каталога,
Files
— объекты
File
для всех файлов, находящихся внутри определенного каталога.

Наконец, из сценария можно читать информацию из текстовых файлов и записывать в них данные. Методы для этого предоставляет объект

TextStream
.

В табл. 5.1 кратко описано, какие именно объекты, свойства и методы могут понадобиться для выполнения наиболее часто используемых файловых операций.

Таблица 5.1. Выполнение основных файловых операций

Операция Используемые объекты, свойства и методы
Получение сведений об определенном диске (тип файловой системы, метка тома, общий объем и количество свободного места и т.д.) Свойства объекта
Drive
. Сам объект
Drive
создается с помощью метода
GetDrive
объекта
FileSystemObject
Получение сведений о заданном каталоге или файле (дата создания или последнего доступа, размер, атрибуты и т.д.) Свойства объектов
Folder
и
File
. Сами эти объекты создаются с помощью методов
GetFolder
и
GetFile
объекта
FileSystemObject
Проверка существования определенного диска, каталога или файла Методы
DriveExists
,
FolderExists
и
FileExists
объекта
FileSystemObject
Копирование файлов и каталогов Методы
CopyFile
и
CopyFolder
объекта
FileSystemObject
, а также методы
File.Сору
и
Folder.Сору
Перемещение файлов и каталогов Методы
MoveFile
и
MoveFolder
объекта
FileSystemObject
или методы
File.Move
и
Folder.Move
Удаление файлов и каталогов Методы
DeleteFile
и
DeleteFolder
объекта
FileSystemObject
или методы
File.Delete
и
Folder.Delete
Создание каталога Методы
FileSystemObject.CreateFolder
или
Folders.Add
Создание текстового файла Методы
FileSystemObject.CreateTextFile
или
Folder.CreateTextFile
Получение списка всех доступных дисков Коллекция
Drives
, содержащаяся в свойстве
FileSystemObject.Drives
Получение списка всех подкаталогов заданного каталога Коллекция
Folders
, содержащаяся в свойстве
Folder.SubFolders
Получение списка всех файлов заданного каталога Коллекция
Files
, содержащаяся в свойстве
Folder.Files
Открытие текстового файла для чтения, записи или добавления Методы
FileSystemObject.CreateTextFile
или
File.OpenAsTextStream
Чтение информации из заданного текстового файла или запись ее в него Методы объекта
TextStream

Перейдем теперь к подробному рассмотрению объектов, используемых при работе с файловой системой.

Объект FileSystemObject

Объект

FileSystemObject
является основным объектом, обеспечивающим доступ к файловой системе компьютера; его методы используются для создания остальных объектов (
Drives
,
Drive
,
Folders
,
Folder
,
Files
,
File
и
TextStream
).

Для создания внутри сценария экземпляра объекта

FileSystemObject
можно воспользоваться методом
CreateObject
объекта
WScript
:

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

Также можно использовать объект

ActiveXObject
языка JScript (с помощью этого объекта можно работать с файловой системой из сценариев, находящихся внутри HTML-страниц):

var FSO = new ActiveXObject("Scripting.FileSystemObject");

Объект

FileSystemObject
имеет единственное свойство
Drives
, в котором хранится коллекция, содержащая объекты
Drive
для всех доступных дисков компьютера. Примеры, иллюстрирующие использование свойства
Drives
приведены ниже в разд. "Коллекция Drives".

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

FileSystemObject
представлены в табл. 5.2.

Таблица 5.2. Методы объекта FileSystemObject

Поделиться:
Популярные книги

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Казачий князь

Трофимов Ерофей
5. Шатун
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Казачий князь

Второй кощей

Билик Дмитрий Александрович
8. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
5.00
рейтинг книги
Второй кощей

Катализ

Скаландис Ант
Фантастика:
научная фантастика
5.00
рейтинг книги
Катализ

Травник

Назимов Константин Геннадьевич
1. Травник
Фантастика:
фэнтези
5.00
рейтинг книги
Травник

Мастер решений

Земляной Андрей Борисович
3. Специалист по выживанию
Фантастика:
боевая фантастика
космическая фантастика
6.20
рейтинг книги
Мастер решений

Я царь. Книга XXVIII

Дрейк Сириус
28. Дорогой барон!
Фантастика:
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Я царь. Книга XXVIII

Шайтан Иван 4

Тен Эдуард
4. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Шайтан Иван 4

Черный Маг Императора 5

Герда Александр
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 5

Чужая семья генерала драконов

Лунёва Мария
6. Генералы драконов
Фантастика:
фэнтези
5.00
рейтинг книги
Чужая семья генерала драконов

Точка Бифуркации V

Смит Дейлор
5. ТБ
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Точка Бифуркации V

Убей героя

Кудрявцев Леонид Викторович
Фантастика:
детективная фантастика
5.00
рейтинг книги
Убей героя

Зодчий. Книга VIII

Погуляй Юрий Александрович
8. Зодчий Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
6.25
рейтинг книги
Зодчий. Книга VIII

На границе империй. Том 9. Часть 5

INDIGO
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 5