ブログ?

もうだめぽ

Windows Server 2019のリモートデスクトップサービス導入時にDisconnectedSessionLimitが原因で停止する

検証環境で試した時にエラーで止まって泣いたのでメモ。

下記メッセージが出てセッションコレクションの導入が停止する。

失敗: セッションコレクションを作成できません。 プロパティ DisconnectedSessionLimitはグループポリシー設定を使用して構成されています。 グループポリシー管理コンソールを使用して、このプロパティを構成してください。

RDSエラー画面

実際に値を確認してみる。

PS C:\> Get-WmiObject -Namespace "root/CIMV2/TerminalServices" -Class Win32_TSSessionSetting


__GENUS                              : 2
__CLASS                              : Win32_TSSessionSetting
__SUPERCLASS                         : Win32_TerminalSetting
__DYNASTY                            : CIM_ManagedSystemElement
__RELPATH                            : Win32_TSSessionSetting.TerminalName="RDP-Tcp"
__PROPERTY_COUNT                     : 19
__DERIVATION                         : {Win32_TerminalSetting, CIM_Setting, CIM_ManagedSystemElement}
__SERVER                             : WINDOWS2019RDS
__NAMESPACE                          : root\CIMV2\TerminalServices
__PATH                               : \\WINDOWS2019RDS\root\CIMV2\TerminalServices:Win32_TSSessionSetting.TerminalName="RDP-Tcp"
ActiveSessionLimit                   : 0
BrokenConnectionAction               : 0
BrokenConnectionPolicy               : 0
Caption                              :
Description                          :
DisconnectedSessionLimit             : 43200000
EnableTimeoutWarning                 : 1
IdleSessionLimit                     : 0
InstallDate                          :
Name                                 :
PolicySourceActiveSessionLimit       : 0
PolicySourceBrokenConnectionAction   : 0
PolicySourceDisconnectedSessionLimit : 1
PolicySourceIdleSessionLimit         : 0
PolicySourceReconnectionPolicy       : 0
ReconnectionPolicy                   : 0
Status                               :
TerminalName                         : RDP-Tcp
TimeLimitPolicy                      : 0
PSComputerName                       : WINDOWS2019RDS

関係しそうな値は下記の通り。

DisconnectedSessionLimit             : 43200000
PolicySourceDisconnectedSessionLimit : 1

Win32_TSSessionSetting クラス - Win32 apps | Microsoft Learn によると、

Name データ型 アクセスの種類 説明
DisconnectedSessionLimit uint32 読み取り専用 切断されたセッションが終了する時間間隔 (ミリ秒単位)。 値 0 は、無限の時間を指定します。
PolicySourceDisconnectedSessionLimit uint32 読み取り専用 DisconnectedSessionLimit プロパティがサーバー、グループ ポリシー、または既定で構成されているかどうかを示します。
0 サーバー
1 グループ ポリシー
2 Default

43200000/1000/60/60 = 12時間

というわけで、切断されたセッションが12時間後に終了されるように設定がされている模様。

実際にグループポリシーを確認してみると設定されていたので、一時的に無効にした上で対象サーバ上でgpupdate /forceでポリシーの適用、インストール後、また元に戻しました。

グループポリシー

ドキュメントに載ってる…?これ

Windows Server 2016 リモート デスクトップ サービスへようこそ | Microsoft Learn