web-dev-qa-db-ja.com

HKLM:\ SOFTWARE \ Policies \とHKLM:\ SYSTEM \ CurrentControlSet \の違い

HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal ServicesHKLM:\SYSTEM\CurrentControlSet\Control\Terminal Serverの編集設定の違いは何ですか?

同様の設定が両方に表示されるようです。たとえば、ターミナルサービスのfSingleSessionPerUserキー。 Server 2012R2では、これを変更する唯一の方法は、ローカルポリシーエディターを使用することです(Server 2008にあった管理ツール項目はなくなりました)。 gpedit.mscを使用すると、HKLM:\SOFTWARE\Policies領域が変更されると思います。

ポリシー設定は他の設定のマスクとして機能し、存在する場合は特定の状態に強制しますか?

サーバーはドメインの一部ではありません。

bootstrap新しいマシンにスクリプトを記述していて、この設定を構成したい場合、これを変更するのに最適な場所はどれですか?

2
JohnCC

これは、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これは仕様によるものですが、現在のコントロールセットに変更を加えます。 Microsoftがグループポリシーを格納するための2番目の場所を必要とした理由は、nt4日間のように実際にレジストリに入れ墨をすることなく、実際の設定を上書きできるようにするためです。

<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>
2
Knuckle-Dragger

私はこれを確認する立場にはありませんが、「ポリシー」レジストリキーはグループポリシー用に設計されており、優先されます。レジストリキーはユーザーの変更から保護する必要があり、ソフトウェアレベルでの実装によっては、アプリケーション内での変更を防ぐこともできます。

「ポリシー」キーに関しては、他にも考慮事項があります。たとえば、グループポリシーの適用が停止したときにクリアする必要があります。経験から、ワークグループにいる間はキーがそこにとどまることがわかっていますが、ドメインに参加して他のポリシーの適用を開始するとどうなるかわかりません。

つまり、両方を使用できますが、すべてのユーザーに設定を適用しようとしていて、マシンをドメインに参加させる予定がない場合は、通常、ポリシーの方が適しています。ドメインに参加している可能性がある場合、または施行が主な関心事ではない場合は、「Control」キーを使用してください。

2
Dan

Microsoftによると、 HKLM\SOFTWARE\Policiesレジストリツリー「グループポリシー設定を格納するエントリが含まれています」 一方、 HKLM\SYSTEM\CurrentControlSet\Controlレジストリツリー "システムの起動とデバイス構成のいくつかの側面を制御するための情報が含まれています"

実際には、正当な理由がない限り、Policiesツリーは通常直接編集しないでください。したがって、一般的な場合は、Controlレジストリで変更を加える必要があります。木。ただし、Policiesツリーの設定はControlツリーの競合する設定よりも優先されるため、マシンがどこかから競合する設定を取得することが懸念される場合は、それが「正当な理由」になります。 PolicyではなくControlで変更を加えます。

それ以外の場合、2つの間に実際の違いはなく、どちらのレジストリツリーからも構成できる設定が非常に多くあります。

0
HopelessN00b