Что такое сценарий виндовс
Пакет сценариев Windows PowerShell 2.0, позволяющий автоматизировать операции управления свойствами пользователей Indeed-Id в Active Directory, поставляется в составе дистрибутива Indeed-Id.
По умолчанию файлы сценариев находятся в каталоге \Indeed-Id Admin Pack\\Misc\PowerShellScripts\дистрибутива Indeed-Id.
Сценарии, входящие в состав данного пакета, можно использовать как в качестве готовых сценариев, так и в качестве примеров для разработки собственных скриптов.
1. Требования к окружению
Для выполнения поставляемых сценариев необходимы:
- установленная среда Microsoft Windows PowerShell 2.0.
Скачать пакет Windows Management Framework, содержащий оболочку Windows PowerShell 2.0, можно на официальном сайте Microsoft по адресу: http://support.microsoft.com/kb/968929
- установленный компонент Indeed-Id Administration Tools Indeed-Id Admin Pack
2. Группы сценариев
Поставляемые сценарии Windows PowerShell делятся на три группы в зависимости от объекта, которым они управляют:
- сценарии для управления свойствами пользователей Indeed-Id в рамках контейнеров (подразделений (OU), контейнеров (CN), папок)
Имена этих сценариев имеют постфикс ou (*.ou.ps1).
Например: enable.disable.IndeedID.OU.ps1
- сценарии для управления свойствами пользователей Indeed-Id в рамках группы
Имена этих сценариев имеют постфикс cn (*.cn.ps1).
Например: enable.disable.IndeedID.cn.ps1
- cценарии для управления свойствами конкретного (одного) пользователя Indeed-Id
Имена этих сценариев не имеют специфических постфиксов или имеют постфикс user (*.user.ps1).
Например: enable.disable.IndeedID.user.ps1, set.IndeedID.caching.options.ps1
Однако описанные выше правила именования не относятся к ряду файлов сценариев. Это относится, прежде всего, к сценариям, предназначенным для выполнения служебных действий (установка значений необходимых констант, импорт ключа шифрования и т.п.), а также к некоторым сценариям, в которых целевой объект (OU, группа) определяется параметрами, заданными непосредственно при запуске скрипта.
3. Структура и разработка файлов сценариев
Файлы поставляемых сценариев Windows PowerShell в общем виде имеют одинаковую структуру.
3.1. Описание сценария
В заголовке файла в виде комментария указаны сведения о сценарии:
- имя и версия сценария
- назначение сценария
- описание параметров запуска сценария
# Version: 2.2 # enable.disable.IndeedID.LFW.OU.ps1 # enable/disable IndeedID Logon for Windows for users from specified OU # argument: OU distinguished name (ou=name,dc=domain), enable/disable flag, [file name], [level for search in OU (1-not search in child OU, other-search in child OU)]
3.2. Параметры запуска сценария
Параметры запуска сценария описаны после ключевого слова param.
param([string] $ou, [uint32] $f, [string] $lf, [uint32] $l)
После описания параметров запуска в сценариях выполняется проверка значений заданных параметров. Проверка значений предусматривает вывод справочной информации о работе сценария (сообщение об ошибке, пример команды запуска сценария).
if (!$ou.Length)
3.3. Разработка пользовательских функций
Пользовательские функции реализуют логику и алгоритм работы сценария для решения поставленной задачи.
Описание функций выполняется по правилам, установленным в Windows PowerShell.
Для разработки сценария управления свойствами пользователей Indeed-Id требуется использование некоторых констант, определение которых приведено в служебном файле constants.ps1. Поэтому в случае необходимости этот файл должен быть включен в разрабатываемый сценарий.
Описание файла constants.ps1 и его использование описаны в статье Определение констант Indeed-Id (constants.ps1).
Для управления параметрами системы Indeed-Id необходимо подключиться к Серверу Indeed-Id:
#connect server $srvLocator = new-object -com IndeedID.DispServerLocator # создание экземпляра объекта IndeedID.DispServerLocator $server = $srvLocator.ConnectServer("") # подключение к Серверу Indeed-Id
Список всех свойств и методов объекта можно посмотреть перенаправив созданный объект по конвейеру на командлетGet-Member:
> $server | Get-Member TypeName: System.__ComObject# Name MemberType Definition ---- ---------- ---------- CheckEffectivePrivileges Method uint CheckEffectivePrivileges (uint) CheckEffectiveRights Method uint CheckEffectiveRights (uint) IsSupportMode Method bool IsSupportMode (string) ComputerManagement Property IDispComputerManagement ComputerManagement () SystemManagement Property IDispSystemManagement SystemManagement () UserManagement Property IDispUserManagement UserManagement ()
# get user $user = $server.UserManagement.GetUser("", $userName, $NF_UPN)
4. Запуск сценариев
4.1. Настройка политики запуска сценариев
Для запуска сценариев в оболочке Windows PowerShell необходимо включить политики выполнения сценариев. Для этого нужно выполнить команду:
Set-ExecutionPolicy Unrestricted
и подтвердить включение политики.
Выключение политики выполнения сценариев можно произвести командой:
Set-ExecutionPolicy Restricted
4.2. Определение объекта управления для запуска сценария
Для выполнения сценариев управления свойствами пользователей Indeed-Id в рамках контейнеров (сценарии *.ou.ps1) или групп (сценарии *.cn.ps1) требуется задать соответствующий объект управления.
Определить путь к объекту управления можно с помощью утилиты ADSI Edit от Microsoft. Для этого необходимо:
1. Запустить ADSI Edit.
Примечание:
Для установки утилиты на компьютеры под управлением операционных систем Windows Server 2003 и Windows XP необходимо установить пакет Windows Server 2003 Support Tools, который можно скачать с официального сайта Microsoft по ссылке: http://www.microsoft.com/download/en/de … p;id=15326
На компьютерах под управлением операционных систем Windows Server 2008 и Windows Server 2008 R2 утилита ADSI Edit устанавливается с Remote Server Administration Tools (RSAT).
Ознакомиться с утилитой ADSI Edit можно на официальном сайте Microsoft по ссылке: http://technet.microsoft.com/en-us/libr … ngADSIEdit
2. Развернуть узел «Domain []» в дереве.
3. Выбрать в дереве объект и в контекстном меню выбрать пункт «Properties».
4. В окне свойств объекта на вкладке «Attribute Editor» выбрать из списка атрибут.
Что такое файлы Сценарий Windows?
Файлы сценариев Microsoft — это тип файлов сценариев, которые при открытии выполняют инструкции, которые они содержат. Они также известны как файлы сценариев Windows (Windows Script File, WSF). Они используются сервером сценариев Windows (Windows Script Host), инструментом внутри операционной системы Microsoft Windows, который позволяет пользователю автоматизировать различные задачи с использованием разных языков сценариев. Сервер сценариев Windows был впервые представлен в Windows 95 и позволял автоматизировать задачи для Internet Explorer.

Структура базы данных файлов — Расширения файлов Сценарий Windows
11
Топ расширений файлов Сценарий Windows
| Расширение файла | Общее количество файлов | Первоначальный файл (дата) | Последний файл (дата) |
|---|---|---|---|
| WSF | 11 | manage-bde.wsf (01/21/2008) |
powerOn.wsf (01/02/2020) |
Что такое сценарий виндовс
Языковые средства поддержки сценариев Windows (cmd, WSH, PowerShell)
$andpop> Get-Task -Type WSH -Variant 1
- Написать сценарий changea.vbs, который переключал бы атрибут «Архивный» у файла, имя которого задается в качестве параметра командной строки. Например, если у файла example.txt был установлен атрибут «Архивный», то команда cscript changea.js example.txt должна сбросить этот атрибут у example.txt; если же первоначально файл не имел атрибута «Архивный», то его нужно установить. В сценарии должна быть предусмотрена проверка наличия указанного файла на диске.
- Создать с помощью сценария текстовый файл ‘Отчет по дискам.txt’, в котором содержалась бы информация о дате и времени создания отчета, а также таблица использования дискового пространства на всех логических дисках локального компьютера (буква диска, метка тома, общий объем диска, объем свободной и используемой частей диска). Размер выводить в гигабайтах, с двумя знаками после запятой. Полученный файл с отчетом автоматически открыть с помощью Блокнота Windows.
- Написать сценарий, сохраняющий информацию о логических дисках компьютера (см. задание 2), в файл Microsoft Word.
- Вывести с помощью сценария имена всех файлов, находящихся на рабочем столе активного пользователя.
- Оформить сценарии заданий 1-4 в виде одного многозадачного сценария Variant1.wsf. Написать командный файл, который будет запрашивать номер задания и запускать это задание из общего файла.
$andpop> Get-Task -Type WSH -Variant 2
- Написать сценарий changea.vbs, который переключал бы атрибут «Только для чтения» у файла, имя которого задается в качестве параметра командной строки. Например, если у файла example.txt был установлен атрибут «Только для чтения», то команда cscript changea.js example.txt должна сбросить этот атрибут у example.txt; если же первоначально файл не имел атрибута «Только для чтения», то его нужно установить. В сценарии должна быть предусмотрена проверка наличия указанного файла на диске.
- Создать с помощью сценария HTML-файл ‘Отчет по дискам.htm’, в котором содержалась бы информация о дате и времени создания отчета, а также таблица использования дискового пространства на всех жестких дисках локального компьютера (буква диска, метка тома, общий объем диска, объем свободной и используемой частей диска). Размер выводить в гигабайтах, с двумя знаками после запятой. Полученный файл с отчетом автоматически открыть с помощью браузера Internet Explorer.
- Написать сценарий, сохраняющий информацию о логических дисках компьютера (см. задание 2), в файл Microsoft Excel.
- Вывести с помощью сценария имена всех файлов, находящихся в папке «Избранное» активного пользователя.
- Оформить сценарии заданий 1-4 в виде одного многозадачного сценария Variant2.wsf. Написать командный файл, который будет запрашивать номер задания и запускать это задание из общего файла.
Использование сценариев сервера сценариев Windows как CGI-сценариев
При попытке вызова сценария Visual Basic на веб-сервере в контексте сценария CGI, сценарий может не работать правильно. Наиболее вероятной причиной этого является, что обработчик сценариев обычно выполняется в контексте безопасности IUSR_Machine, созданные службами IIS при установке. К сожалению Cscript.exe (обработчик сценариев) требует наличия определенных записей реестра для пользователя IUSR_Machine. Поскольку куст HKEY_CURRENT_USER недоступен для IUSR_Machine, IIS будет загружать HKEY_USERS\. По умолчанию куста на его месте. Тем не менее HKEY_USERS\. Куст по умолчанию не содержит необходимые разделы и записи для обработчика сценариев. В этих случаях возникнет ошибка CGI, без дополнительной информации. Или если файл Cscript.exe была запущена в пакетном режиме, будет отображаться сообщение об ошибке, указывающее, что не удалось загрузить параметры для указанного пользователя. В этом документе показывается Настройка компьютера IIS для выполнения как сценарий CGI сценариев Visual Basic.
Дополнительная информация
В данной статье предполагается, что сервер сценариев Windows установлена на компьютере с сервером IIS; параметр установки по умолчанию для NT Option Pack для этого. Чтобы включить поддержку VBScript, выполните следующие действия:
- Откройте командную строку. Чтобы сделать это, выполните следующие действия.
- В меню Пуск выберите пункт Выполнить.
- Введите команду cmdи нажмите кнопку ОК.
C:\WINNT\system32\CSCRIPT.EXE.exe %s %s
Введите расширение .vbs .
- Убедитесь, что установлены флажки Обработчиком сценария и Убедитесь, что существует файлов .
- Сохраните файл, нажав кнопку OK, Применить, ОКи ОК еще раз.
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings
Убедитесь, что всем пользователям доступ на чтение для этих двух разделов. Теперь можно создайте следующие записи:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
Вы сможете проверить конфигурацию работает и не создавая следующий сценарий:
Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."
Сохраните указанный сценарий в каталоге/Scripts как Test.vbs. Теперь можно вызовите с помощью любого браузера следующий URL-адрес сценария:
http://server/scripts/test.vbs.
Примечание: все ситуации, где Cscript.exe сценарий запускается в контексте безопасности локальной системы или локальной системы, олицетворяя пользователя применяются те же ограничения. Изменения в реестр следует исправить эти ситуации.
Ссылки
Интернета сведения сервера электронной документации.