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 предназначены восемь объектов, главным из которых является
копировать или перемещать файлы и каталоги;
удалять файлы и каталоги;
создавать каталоги;
создавать или открывать текстовые файлы;
создавать объекты
С помощью свойств объектов
Кроме этого, имеются три объекта-коллекции:
Наконец, из сценария можно читать информацию из текстовых файлов и записывать в них данные. Методы для этого предоставляет объект
В табл. 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
Объект
Для создания внутри сценария экземпляра объекта
Также можно использовать объект
Объект
Методы объекта
Таблица 5.2. Методы объекта FileSystemObject