Назад | Перейти на главную страницу

Разница между HKLM: \ SOFTWARE \ Policies \ и HKLM: \ SYSTEM \ CurrentControlSet \

В чем разница между настройками редактирования в HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services и HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server?

Кажется, что в обоих есть похожие настройки. Например, fSingleSessionPerUser ключ для терминальных служб. В Server 2012R2 единственный способ изменить это - через редактор локальной политики (элемент «Инструменты администрирования», который был в Server 2008, пропал). Я предполагаю, что использование gpedit.msc изменяет HKLM:\SOFTWARE\Policies площадь.

Действует ли параметр политики как маска для другого параметра, переводя его в определенное состояние, если оно есть?

Сервер не является частью домена.

Если я пишу сценарии для начальной загрузки новой машины и хочу настроить этот параметр, где лучше всего его изменить?

Я не могу это подтвердить, однако раздел реестра «Политики» предназначен для групповой политики и будет иметь приоритет. Раздел реестра должен быть защищен от изменений, вносимых пользователем, и, в зависимости от реализации на программном уровне, он также может предотвратить изменения в приложении.

Есть и другие соображения относительно ключа «Политики» - например, он должен быть очищен, когда групповая политика перестает применяться. Я знаю по опыту, что ключи останутся там, пока я в рабочей группе, но я не уверен, что произойдет, если вы выполните присоединение к домену и начнете применять другие политики.

Другими словами, можно использовать и то, и другое, но если вы пытаетесь применить настройку для всех пользователей и не собираетесь присоединять машину к домену, то политики, как правило, будут лучшим выбором. Если вы присоединяетесь к домену или принудительное применение не является вашей основной задачей, придерживайтесь клавиши «Control».

Здесь я бы внес изменения, в расположение CurrentControlSet. Вам не нужен gpedit.msc или что-то особенное, только настройки реестра.

Set-ItemProperty -Path "registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fSingleSessionPerUser" -Value 0

и для повторного включения установите его обратно в «1».

Set-ItemProperty -Path "registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fSingleSessionPerUser" -Value 1

РЕДАКТИРОВАТЬ

Следует отметить, что групповая политика действительно вносит изменения в расположение политики. См. Файл .adm для получения более подробной информации - C:\Windows\PolicyDefinitions\TerminalServer.admx Это сделано намеренно, несмотря на это, я все равно внесу изменения в currentcontrolset. Причина в том, что Microsoft требовалось второе место для размещения групповых политик, чтобы они могли переопределить реальную настройку без фактического татуирования реестра, как в nt4 days.

<policy name="TS_SINGLE_SESSION" class="Machine" displayName="$(string.TS_SINGLE_SESSION)" explainText="$(string.TS_SINGLE_SESSION_EXPLAIN)" key="SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" valueName="fSingleSessionPerUser">
  <parentCategory ref="TS_CONNECTIONS" />
  <supportedOn ref="windows:SUPPORTED_WindowsNET" />
  <enabledValue>
    <decimal value="1" />
  </enabledValue>
  <disabledValue>
    <decimal value="0" />
  </disabledValue>
</policy>

По данным Microsoft, HKLM\SOFTWARE\Policies дерево реестра «содержит записи, в которых хранятся параметры групповой политики», тогда как HKLM\SYSTEM\CurrentControlSet\Control дерево реестра «содержит информацию для управления запуском системы и некоторые аспекты конфигурации устройства».

На практике это означает, что Policies дерево обычно не следует редактировать напрямую, если у вас нет веской причины, поэтому в общем случае вам следует вносить изменения в Control дерево реестра. Однако настройки в Policies дерево будет иметь приоритет над конфликтующими настройками в Control дерево, поэтому, если есть опасения, что машина откуда-то получит конфликтующие настройки, это будет «веская причина» внести изменения в Policy скорее, чем Control.

В остальном между ними нет никакой разницы, и существует множество настроек, которые можно настроить из любого дерева реестра.

По моему опыту (среда домена), где нет явных объектов групповой политики, установленных в дереве политик, когда вы устанавливаете два конфликтующих ключа в политиках и контроле, ключи управления выигрывают.