В чем разница между настройками редактирования в 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
.
В остальном между ними нет никакой разницы, и существует множество настроек, которые можно настроить из любого дерева реестра.
По моему опыту (среда домена), где нет явных объектов групповой политики, установленных в дереве политик, когда вы устанавливаете два конфликтующих ключа в политиках и контроле, ключи управления выигрывают.