Групповые политики/Управление logon-скриптами

Материал из ALT Linux Wiki

Описание

Групповые политики позволяют запускать сценарии запуска и завершения работы компьютера, входа и выхода из системы пользователя. Возможно связать один или несколько файлов сценариев (scripts) с четырьмя инициируемыми событиями:

  • Для машины:
    • Запуск компьютера (Startup)
    • Выключение компьютера/Завершение работы (Shutdown)
  • Для пользователя:
    • Вход пользователя (Logon)
    • Выход пользователя (Logoff)

В случае, если указано более одного сценария, они будут выполняться согласно перечню в списке. Система выполняет сценарии на языках, которые поддерживает клиентский компьютер. В среде Windows эту задачу выполняет Windows Script Host (WSH), который поддерживает языки сценариев, включая bat, cmd, VBScript и Jscript.

Настройка политики

На машине Windows

Сценарии для входа/выхода пользователя

Для того чтобы назначить сценарий для входа или выхода пользователя (User logon/Logoff script) необходимо выполнить следующие действия:

Шаг 1. Для удобства можно скопировать нужные сценарии в папку User\Scripts\Logon (например, \\test.alt\sysvol\test.alt\Policies\{20DDB816-421B-4861-8AC5-007E56CB67D0}\User\Scripts\Logon) или User\Scripts\Logoff соответствующей политики.

Шаг 1. На машине с установленным RSAT открыть консоль «Управление групповыми политиками» (gpmc.msc).

Шаг 2. Создать новый объект групповой политики (GPO) и связать его с OU, в который входят учетные записи пользователей.

Шаг 3. В контекстном меню GPO, выбрать пункт «Изменить»:

RSAT. Открыть редактор GPO

Шаг 4. Откроется редактор GPO. Перейти в «Конфигурация пользователя» -> «Политики» -> «Конфигурация Windows» -> «Сценарий (вход/выход из системы)». Дважды щелкнуть левой кнопкой мыши на политике «Вход в систему» («Logon») или «Выход в систему» («Logoff»):

RSAT. Сценарий (вход/выход из системы)

Шаг 5. В диалоговом окне свойств политики нажать кнопку «Добавить»:

RSAT. Диалоговое окно свойств политики «Вход в систему»

Шаг 6. В диалоговом окне «Добавление сценария», в поле «Имя сценария» ввести путь к сценарию (можно нажать кнопку «Обзор» чтобы найти файл сценария в общей папке на контроллере домена), а в поле «Параметры сценария» ввести необходимые параметры аналогично вводу этих параметров в командной строке.

Пример добавления сценария для ОС ALT:

RSAT. Диалоговое окно добавления сценария для ОС ALT

Примечание: Применение локальных скриптов не заложено в механизм gpupdate текущей версии, поэтому скрипты для ОС ALT должны находиться в GPT настраиваемого объекта групповой политики.


Пример добавления сценария для ОС Windows (можно указать локальных скрипт на компьютере клиента):

RSAT. Диалоговое окно добавления сценария для ОС Windows

При назначении нескольких сценариев они будут применяться в заданном порядке. Чтобы переместить сценарий в списке вверх/вниз, следует выбрать его в списке и нажать кнопку «Вверх»/«Вниз». Для того чтобы изменить сценарий, необходимо нажать кнопку «Изменить». Кнопка «Удалить» предназначена для удаления сценария из списка.

RSAT. Список сценариев

На вкладке «Сценарии PowerShell» можно добавить сценарии с расширением *.ps1.

Сценарии для автозагрузки или завершения работы компьютера

Для того чтобы назначить сценарий для автозагрузки или завершения работы необходимо выполнить следующие действия:

Шаг 1. Для удобства можно скопировать нужные сценарии в папку Machine\Scripts\Startup (например, \\test.alt\sysvol\test.alt\Policies\{20DDB816-421B-4861-8AC5-007E56CB67D0}\Machine\Scripts\Startup) или Machine\Scripts\Shutdown соответствующей политики.

Шаг 2. На машине с установленным RSAT открыть консоль «Управление групповыми политиками» (gpmc.msc).

Шаг 3. Создать новый объект групповой политики (GPO) и связать его с OU, в который входят машины.

Шаг 4. В контекстном меню GPO, выбрать пункт «Изменить»:

RSAT. Открыть редактор GPO

Шаг 5. Откроется редактор GPO. Перейти в «Конфигурация компьютера» -> «Политики» -> «Конфигурация Windows» -> «Сценарий (запуск/завершение)». Дважды щелкнуть левой кнопкой мыши на политике «Автозагрузка» («Startup») или «Завершение работы» («Shutdown»):

RSAT. Сценарий (запуск/завершение)

Шаг 6. В диалоговом окне свойств политики нажать кнопку «Добавить»:

RSAT. Диалоговое окно свойств политики «Сценарий завершения работы»

Шаг 7. В диалоговом окне «Добавление сценария», в поле «Имя сценария» ввести путь к сценарию (можно нажать кнопку «Обзор» для поиска файла сценария в общей папке контроллера домена), а в поле «Параметры сценария» ввести необходимые параметры аналогично вводу этих параметров в командной строке.

Пример добавления сценария для ОС ALT:

RSAT. Диалоговое окно добавления сценария для ОС ALT


Примечание: Применение локальных скриптов не заложено в механизм gpupdate текущей версии, поэтому скрипты для ОС ALT должны находиться в GPT настраиваемого объекта групповой политики.


Пример добавления сценария для ОС Windows (можно указать локальных скрипт на компьютере клиента):

RSAT. Диалоговое окно добавления сценария для ОС Windows

При назначении нескольких сценариев они будут применяться в заданном порядке. Чтобы переместить сценарий в списке вверх/вниз, следует выбрать его в списке и нажать кнопку «Вверх»/«Вниз». Для того чтобы изменить сценарий, необходимо нажать кнопку «Изменить». Кнопка «Удалить» предназначена для удаления сценария из списка.

На вкладке «Сценарии PowerShell» можно добавить сценарии с расширением *.ps1.

Включение «Экспериментальных групповых политик»

Так как. политики управления logon-скриптами относятся к экспериментальным, на машинах Альт где они применяются, должны быть включены «Экспериментальные групповые политики».

Включить «Экспериментальные групповые политики» можно, выбрав в разделе «Конфигурация компьютера» -> «Политики» -> «Административные шаблоны» -> «Система Alt» -> «Групповые политики» пункт «Экспериментальные групповые политики»:

RSAT. Экспериментальные групповые политики

Дважды щелкнуть на политике «Экспериментальные групповые политики», в открывшемся окне установить отметку в поле «Включить»:

RSAT. Диалоговое окно «Экспериментальные групповые политики»

Файлы настроек политики

Настройки политики для сценариев входа и выхода пользователя хранятся в каталоге {GUID GPT}\User\Scripts\scripts.ini. Файлы сценариев (за исключением локальных) хранятся в каталогах: {GUID GPT}\User\Scripts\Logon и {GUID GPT}\User\Scripts\Logoff. В файле scripts.ini перечисляются все программы, выполняемые в сценариях входа и выхода пользователя из системы. Сценарии входа начинаются с преамбулы [Logon], сценарии выхода начинаются с преамбулы [Logoff].

Пример файла scripts.ini:

[Logon]
0CmdLine=date.sh
0Parameters=test
1CmdLine=test.sh
1Parameters=new
[Logoff]
0CmdLine=touch.sh
0Parameters=
1CmdLine=Logoff.bat
1Parameters=1.txt
2CmdLine=C:\share\Logon.bat
2Parameters=

Настройки политики для сценариев запуска и завершения работы компьютера хранятся в каталоге {GUID GPT}\Machine\Scripts\scripts.ini. Файлы сценариев (за исключением локальных) хранятся в каталогах: {GUID GPT}\Machine\Scripts\Shutdown и {GUID GPT}\Machine\Scripts\Startup. В файле scripts.ini перечисляются все скрипты, выполняемые в сценариях запуска и завершения работы компьютера. Сценарии запуска компьютера начинаются с преамбулы [Startup], сценарии завершения работы начинаются с преамбулы [Shutdown].

Пример файла scripts.ini:

[Startup]
0CmdLine=hello.bat
0Parameters=
1CmdLine=notescript.vbs
1Parameters=
2CmdLine=notescript2.vbs
2Parameters=
3CmdLine=touch.bat
3Parameters=
[Shutdown]
0CmdLine=touch.bat
0Parameters=

Файл scripts.ini закодирован в формате UTF-16LE (little-endian).

Права и разрешения

  • По умолчанию разрешение на изменение параметров для редактирования GPO имеют члены групп безопасности «Администраторы домена», «Администраторы предприятия», «Владельцы-создатели групповой политики»;
  • Сценарии запуска (Startup) и завершения работы выполняются под учетной записью локальной системы, и они имеют полные права, связанные с возможностью запуска под учетной записью локальной системы;
  • Сценарии входа (Logon scripts) и выхода (Logoff scripts) запускаются от имени пользователя, а не администратора, и их права соответственно ограничены;
  • В Windows Vista сценарии запуска по умолчанию выполняются асинхронно. Это поведение отличается от более ранних операционных систем;
  • Настройка синхронного запуска сценариев запуска может привести к замедлению процесса загрузки;
  • В Windows Vista сценарии запуска, выполняемые асинхронно, не будут видны. Включение параметра групповой политики Run Startup Scripts Visible не повлияет на асинхронный запуск сценариев запуска.