Групповые политики/Переменные среды
Описание
Эта групповая политика позволяет централизованно для компьютеров или пользователей:
- создавать постоянные пользовательские или системные переменные среды;
- удалять переменные среды;
- изменять переменные среды, например:
- изменить приглашение командной строки (системная переменная PROMPT для Windows или PS1 для Linux (BASH));
- изменить расположение папки временных файлов (системная переменная TEMP для Windows или TMPDIR для Linux);
- заменить значение всей переменной PATH;
- добавить сегменты в переменную PATH (разделенные точкой с запятой для Windows или двоеточием для Linux);
- удалить сегменты из переменной PATH.
Настройка политики
На машине ALT
Шаг 1. На машине с установленными ADMC и GPUI получить ключ Kerberos для администратора домена.
Шаг 2. В ADMC создать новый объект групповой политики (GPO) и связать его с OU, в который входят машины или учетные записи пользователей.
Шаг 3. Запустить GPUI:
- из модуля удаленного управления базой данных конфигурации (ADMC), выбрав в контекстном меню объекта групповой политики пункт «Изменить…»:
- или с указанием каталога групповой политики:
$ gpui-main -p "smb://dc1.test.alt/SysVol/test.alt/Policies/{75411A5F-5A46-4616-BB1A-4DE7C3EEDBD1}"
- где dc1.test.alt — имя контроллера домена, а {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX} — GUID шаблона групповой политики для редактирования.
Откроется окно редактирования групповых политик.
Шаг 4. Перейти в «Компьютер»/«Пользователь» -> «Настройки» -> «Настройки системы» -> «Окружение». В контекстном меню свободной области выбрать пункт «Новый» -> «Переменные окружения»:
Шаг 5. В диалоговом окне «Диалог настроек» задать настройки политики:
Доступные опции на вкладке «Основные настройки» («General»):
- «Действие» — действие, которое будет выполняться для переменной среды:
- «Создать» — создание новой переменной среды (если переменная среды с таким именем уже есть, например, создана локально, то ее значение изменено не будет);
- «Удалить» — удаление переменной среды;
- «Заменить» — удаление и повторное создание переменную среды (если переменная среды с таким именем не существует, то это действие создает новую переменную среды);
- «Обновить» — изменение параметров существующей переменной среды. Если переменная среды с таким именем не существует, то это действие создает новую переменную среды (фактически это действие полностью аналогично действию «Заменить»). Применение этого действия к сегменту переменной PATH не имеет практического эффекта; в этом сегменте возможно только изменение регистра текста.
- «Пользовательская переменная»:
- параметр для переменной среды в разделе «Конфигурация пользователя» — влияние переменной среды будет для каждого пользователя независимым. Переменная среды хранится в разделе реестра HKEY_CURRENT_USER;
- параметр для переменной среды в разделе «Конфигурация компьютера» — переменная среды будет влиять только на пользователя компьютера по умолчанию.
- «Системная переменная» — переменная среды будет влиять на всех пользователей компьютера. Переменная среды будет храниться в реестре в разделе HKEY_LOCAL_MACHINE.
- «Имя» — имя переменной среды, к которой применяется действие. Чтобы выбрать переменную PATH, следует оставить это поле пустым;
- «Значение» — значение переменной среды. В это поле можно вводить переменные.
- «PATH» — действие будет применяться к переменной PATH: можно создать/заменить значение переменной PATH или добавить/удалить сегмент значения переменной PATH. В поле «Имя» будет «PATH» и оно не будет доступно для редактирования. Эта опция доступна только в том случае, если выбран параметр «Системная переменная».
- «Частичный» — добавить или удалить один сегмент переменной PATH. Эта опция доступна только в том случае, если выбраны «Системная переменная» и «PATH».
Доступные опции на вкладке «Общие» («Common»):
- «Остановить обработку элементов в этом расширении при возникновении ошибки» — при сбое элемента предпочтений обработка других элементов предпочтений в этом расширении останавливается;
- «Выполнять в контексте безопасности текущего пользователя (опция пользовательских политик)»;
- «Удалить элемент, если больше не применим»;
- «Описание».
На машине Windows
Шаг 1. На машине с установленным RSAT открыть консоль «Управление групповыми политиками» (gpmc.msc).
Шаг 2. Создать новый объект групповой политики (GPO) и связать его с OU.
Шаг 3. В контекстном меню GPO выбрать пункт «Редактировать». Откроется редактор GPO.
Шаг 4. Перейти в «Конфигурация компьютера»/«Конфигурация пользователя» -> «Настройка» -> «Конфигурация Windows» -> «Среда». В контекстном меню свободной области (или в контекстном меню пункта «Среда») выбрать «Создать» -> «Переменные среды»:
Шаг 5. В диалоговом окне «Новые свойства среды» задать настройки политики:
Доступные опции на вкладке «Общие» («General»):
- «Действие» — действие, которое будет выполняться для переменных среды:
- «Создать» — создание новой переменной среды (если переменная среды с таким именем уже есть, например, создана локально, то ее значение изменено не будет);
- «Удалить» — удаление переменной среды;
- «Заменить» — удаление и повторное создание переменную среды (если переменная среды с таким именем не существует, то это действие создает новую переменную среды);
- «Обновить» — изменение параметров существующей переменной среды. Если переменная среды с таким именем не существует, то это действие создает новую переменную среды (фактически это действие полностью аналогично действию «Заменить»). Применение этого действия к сегменту переменной PATH не имеет практического эффекта; в этом сегменте возможно только изменение регистра текста.
- «Пользовательская переменная»:
- параметр для переменной среды в разделе «Конфигурация пользователя» — влияние переменной среды будет для каждого пользователя независимым. Переменная среды хранится в разделе реестра HKEY_CURRENT_USER;
- параметр для переменной среды в разделе «Конфигурация компьютера» — переменная среды будет влиять только на пользователя компьютера по умолчанию.
- «Системная переменная» — переменная среды будет влиять на всех пользователей компьютера. Переменная среды будет храниться в реестре в разделе HKEY_LOCAL_MACHINE.
- «Имя» — имя переменной среды, к которой применяется действие. Чтобы выбрать переменную PATH, следует оставить это поле пустым;
- «Значение» — значение переменной среды. Это поле принимает переменные;
- «PATH» — действие будет применяться к переменной PATH (в поле «Имя» будет «PATH» и оно не будет доступно для редактирования). Эта опция доступна только в том случае, если выбрана «Системная переменная»
- «Частичная» — добавить или удалить сегмент значения переменной PATH. Эта опция доступна только в том случае, если выбраны «Системная переменная» и «PATH».
Доступные опции на вкладке «Общие параметры» («Common»):
- «Остановить обработку элементов в этом расширении при возникновении ошибки»;
- «Выполнять в контексте безопасности вошедшего пользователя»;
- «Удалить этот элемент, когда он более не применяется»;
- «Применить один раз и не применять повторно»;
- «Нацеливание на уровень элемента».
Файл настроек политики
Все настройки политики управления переменными среды хранятся в файлах:
- {GUID GPT}/Machine/Preferences/EnvironmentVariables/EnvironmentVariables.xml
- {GUID GPT}/User/Preferences/EnvironmentVariables/EnvironmentVariables.xml
Пример EnvironmentVariables.xml:
<?xml version="1.0" encoding="utf-8"?>
<EnvironmentVariables clsid="{BF141A63-327B-438a-B9BF-2C188F13B7AD}">
<EnvironmentVariable clsid="{78570023-8373-4a19-BA80-2F150738EA19}"
name="VAR"
status="VAR = value_1"
image="0"
changed="2020-06-05 12:16:20"
uid="{6738058D-5455-4D9A-9B84-78E87DDD18D7}"
desc="environment variable example"
bypassErrors="1">
<Properties action="C"
name="VAR"
value="value_1"
user="1"
partial="0"/>
</EnvironmentVariable>
<EnvironmentVariable clsid="{78570023-8373-4a19-BA80-2F150738EA19}"
name="PATH"
status="PATH = value_2"
image="2"
changed="2020-06-05 12:16:48"
uid="{15E854D6-C338-4AD2-BF8D-72292B364BA3}">
<Properties action="U"
name="PATH"
value="value_2"
user="0"
partial="1"/>
</EnvironmentVariable>
</EnvironmentVariables>
Спецификация EnvironmentVariables.xml https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/6ddc3720-7cd7-466e-8b6f-3e3442125c74
Особенности применения политики на машинах с ОС ALT
Для того чтобы политики применились (под доменным пользователем) необходимо перелогиниться.
Проверить наличие переменных окружения можно, выполнив команду:
$ env |grep имя_переменной
Просмотреть все переменные, назначенные с помощью групповой политики, можно в файле /etc/gpupdate/environment:
TEMP DEFAULT="C:\tmp"
Var DEFAULT="Value1"
HTTPS_PROXY DEFAULT="https://10.0.66.52:3128"
Ссылки
- Подробная документация по настройке политики
- Описание атрибутов XML-файлов из GPT и XML Schema