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