Андрей Попов - Windows Script Host для Windows 2000/XP
Устанавливая определенным образом значения параметров системного реестра из табл. 4.2, можно настроить политику безопасности при использовании сценариев WSH для конкретного пользователя или рабочей станции (например, можно разрешить выполнение сценариев только администраторам домена). В сетях Windows NT или на автономной машине для этого используется редактор системной политики (Poledit.exe), а в сетях с установленной службой каталогов Active Directory применяется групповая политика (Group Policy), доступная с помощью оснастки Active Directory — пользователи и компьютеры (Active Directory — users and computers) консоли управления ММС. На автономном компьютере с операционной системой Windows ХР/2000 для настройки политики безопасности WSH можно также изменять локальную групповую политику, которая позволяет задать одинаковые параметры безопасности для всех пользователей данного компьютера.
В любом случае для более удобного и безопасного изменения значений параметров реестра следует применять административные шаблоны (administrative templates) — текстовые файлы с расширением adm, позволяющие создавать удобный пользовательский интерфейс для редактирования заданных параметров системного реестра в редакторе системной политики или при работе с оснасткой Групповая политика (Group Policy) в ММС (пример такого adm-файла, позволяющего блокировать выполнение сценариев WSH, приведен в листинге 4.12).
ЗамечаниеБолее подробную информацию о редакторе системной политики Poledit.exe, настройке групповой политики в Windows 2000/ХРи администраторских шаблонах можно найти в справочной системе Windows ХРи документации MSDN.
Блокировка локальных и удаленных сценариев WSH. Пример административного шаблона
Как уже было указано в табл. 4.2, за блокировку локальных и удаленных сценариев WSH отвечают соответственно параметры реестра Enabled и Remote: если Enabled равно "0", то на машине вообще нельзя выполнять сценарии, если Remote равен "0", то нельзя выполнять сценарии, запускаемые с другого компьютера (удаленные сценарии). При такой блокировке устанавливается запрет на выполнение сценариев всех типов — при попытке запуска любого файла с расширениями js, vbs, jse, vbe или wsf будет выведено диалоговое окно, показанное на рис. 4.13, а сценарий выполнен не будет.
В листинге 4.12 приведен административный шаблон wsh.adm, с помощью которого можно запрещать/разрешать выполнение локальных или удаленных сценариев. Как мы видим, в административном шаблоне описывается путь к разделу реестра (параметр KEYNAME), содержащего нужный параметр, название (параметр VALUENAME) и список возможных значений (параметры VALUEON и VALUEOFF) этого параметра, а также приводятся строки, поясняющие назначение редактируемых параметров (секция [STRINGS]).
Рис. 4.13. Блокировка выполнения сценариев WSH
Листинr 4.12. Файл WSH.admCLASS MACHINE
 CATEGORY "Локальные и удаленные сценарии WSH"
В В В POLICY !!LocalEnabledPolicy
В В В В В KEYNAME "SoftwareMicrosoftWindows Script HostSettings"
В В В В В В В EXPLAIN !!LocalEnabledPolicyHelp
В В В В В VALUENAME Enabled
В В В В В В В VALUEON "1" VALUEOFF "0"
В В В END POLICY
В В В POLICY !!MachRemotePolicy
В В В В В KEYNAME "SoftwareMicrosoftWindows Script HostSettings"
В В В В В В В EXPLAIN !!MachRemotePolicyHelp
В В В В В VALUENAME Remote
В В В В В В В VALUEON "1" VALUEOFF "0"
В В В END POLICY
В В В POLICY !!IgnoreUserSettingsPolicy
В В В В В KEYNAME "SoftwareMicrosoftWindows Script HostSettings"
В В В В В В В EXPLAIN !!IgnoreUserHelp
В В В В В VALUENAME IgnoreUserSettings
В В В В В В В VALUEON "1" VALUEOFF "0"
В В В END POLICY
В END CATEGORY
CLASS USER
 CATEGORY "Локальные и удаленные сценарии WSH"
В В В POLICY !!LocalEnabledPolicy
В В В В В KEYNAME "SoftwareMicrosoftWindows Script HostSettings"
В В В В В В В EXPLAIN !!LocalEnabledPolicyHelp
В В В В В VALUENAME Enabled
В В В В В В В VALUEON "1" VALUEOFF "0"
В В В END POLICY
В В В POLICY !!MachRemotePolicy
В В В В В KEYNAME "SoftwareMicrosoftWindows Script HostSettings"
В В В В В В В EXPLAIN !!MachRemotePolicyHelp
В В В В В VALUENAME Remote
В В В В В В В VALUEON "1" VALUEOFF "0"
В В В END POLICY
В END CATEGORY
[STRINGS]
LocalEnabledPolicy="Разрешить локальный WSH"
LocalEnabledPolicyHelp="Если значение равно 1, то локальный WSH разрешен"
MachRemotePolicy="Разрешить удаленный WSH"
MachRemotePolicyHelp="Если значение равно 1, то удаленный WSH разрешен"
IgnoreUserSettingsPolicy="Ргнорировать установки пользователя"
IgnoreUserHelp="Должен быть установлен для того, чтобы применять ко всем пользователям политику для машины"
Для применения политик безопасности, которые описаны в шаблоне wsh.adm, к различным пользователям и рабочим станциям, можно воспользоваться либо редактором системной политики Poledit.exe (в сетях Windows NT и на автономных машинах), либо оснасткой Групповая политика (Group Policy) в ММС (в сетях с установленной службой каталогов Active Directory и на автономных машинах).
Рассмотрим сначала вариант, связанный с использованием редактора системной политики Poledit.exe. После запуска этой программы надо добавить wsh.adm в список текущих шаблонов политик. Для этого нужно в меню Параметры (Options) выбрать пункт Шаблон политики (Policy Template) и воспользоваться кнопкой Добавить (Add) в диалоговом окне Параметры шаблона политики (Policy Template Options) (рис. 4.14).