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

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

Жанры

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

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

Ученичество. Книга 2

Понарошку Евгений
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ученичество. Книга 2

Император поневоле

Распопов Дмитрий Викторович
6. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Император поневоле

Лорд Системы 7

Токсик Саша
7. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 7

Целитель. Книга вторая

Первухин Андрей Евгеньевич
2. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Целитель. Книга вторая

Темный Патриарх Светлого Рода 3

Лисицин Евгений
3. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 3

Случайная свадьба (+ Бонус)

Тоцка Тала
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Случайная свадьба (+ Бонус)

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Жребий некроманта. Надежда рода

Решетов Евгений Валерьевич
1. Жребий некроманта
Фантастика:
фэнтези
попаданцы
6.50
рейтинг книги
Жребий некроманта. Надежда рода

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Не грози Дубровскому! Том Х

Панарин Антон
10. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том Х

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Хочу тебя навсегда

Джокер Ольга
2. Люби меня
Любовные романы:
современные любовные романы
5.25
рейтинг книги
Хочу тебя навсегда

СД. Том 15

Клеванский Кирилл Сергеевич
15. Сердце дракона
Фантастика:
героическая фантастика
боевая фантастика
6.14
рейтинг книги
СД. Том 15

Смерть может танцевать 3

Вальтер Макс
3. Безликий
Фантастика:
боевая фантастика
5.40
рейтинг книги
Смерть может танцевать 3