Windows Server 2025で同時ログイン数を制限する方法|Active Directoryでできない理由とRDS設計

Windows Server 2025 環境で、セキュリティグループごとに「同時にログインできる人数」を変えたい――。実は Active Directory(AD)単体には、この要件を満たす“同時ログイン数の上限”パラメータがありません。ではどう設計すべきか。RDS/VDI など“入口側”で破綻なく制御する考え方と実装例を、運用の落とし穴まで含めてまとめます。

目次

まず整理:「同時ログイン数」はどのログインを数えるのか

「同時ログインを 35 人まで」などの要件は、一見シンプルに見えますが、Windows の世界では“ログイン経路”が複数あります。どの経路を対象にするかで、実現手段が大きく変わります。最初にここを定義しておかないと、設計も運用も破綻しがちです。

ログインの例利用者から見た状態制御しやすい場所ポイント
RDS(RDP)でサーバーに接続リモートデスクトップで作業RDS 基盤(セッションホスト/コレクション)入口が集約できるため、同時セッション制御と相性が良い
VDI で仮想デスクトップに接続専用/共有デスクトップを利用VDI コントローラー/ブローカー製品の割り当て・ポリシーで「同時利用」を表現しやすい
ドメイン参加 PC への対話ログオン各自の PC にサインイン端末側(GPO/エージェント)“全端末横断の同時数”を AD だけで数えるのは困難
VPN 接続やアプリの認証社内リソース/アプリにアクセスVPN/アプリ側の認証基盤「ログオン=OS サインイン」ではないケースが混ざりやすい

この記事では、質問で挙がっている「Windows Server 2025 上でユーザーがログインして作業する」ケースを中心に、“セキュリティグループ単位で同時利用数を上限化する”現実解を掘り下げます。

結論:Active Directory だけで「同時ログイン数」を制限することはできない

結論から言うと、AD(Active Directory)単体には、ユーザー/グループ単位で“同時ログイン数”を直接制限する標準機能はありません。理由はシンプルで、AD は「アカウントや属性を管理するディレクトリ」であり、全サーバー/全端末の“現在のセッション数”を一元的に保持して制御する仕組みではないためです。

「AD なら何でも制御できそう」と思われがちですが、実際に AD で標準提供されている“ログオン制限”は、主に次のような方向性です。

AD/GPO でできること(代表例)できないこと(今回の論点)補足
ログオン可能時間(Logon Hours)同時にログオンできる人数の上限時間帯制御はできても、人数を数えて止める機能はない
ログオン可能端末(Log on to / workstation 制限)グループ別の同時ログオン数端末の範囲は絞れても、同時数のカウントはできない
「ローカルにログオンを拒否」などの権限(GPO)35 人までなどの“枠”管理許可/拒否はできるが、上限枠の概念がない
アカウントロックアウト(失敗回数)成功ログオンの同時数制限セキュリティ対策であり、同時利用制御とは別物

つまり、同時ログインを“人数枠”として運用したい場合は、AD ではなくログインの入口(セッション基盤)側で設計するのが王道です。

設計の基本方針:「入口を一つに集約し、そこで数える」

同時ログイン数の制限が難しくなる最大の原因は、ログイン入口が分散していることです。たとえば、各ユーザーが自由に多数の PC/サーバーへ直接ログオンできる環境では、「今、誰が、どこに、何セッション居るか」を完全に追い切るのがほぼ不可能になります。

逆に言えば、入口を一つ(または少数)に寄せれば、同時数の制御は現実的になります。代表例が RDS/VDI/アプリ配信です。

  • RDS:RDP 接続を RDS コレクションに集約し、セッションホスト側で上限を作る
  • VDI:ブローカー経由で仮想デスクトップへ誘導し、プール/割り当て数で上限を作る
  • アプリ配信:アプリ入口で認可し、同時起動/同時セッションを制御する

この方針は「技術的にできる/できない」だけでなく、監査・問い合わせ対応・運用コストにも直結します。入口がバラバラなほど、運用の手数が爆発します。

現実的な解決策:RDS で「グループ別の同時セッション枠」を作る

質問の要件が「Windows Server にログインして作業する(RDP)」であれば、Remote Desktop Services(RDS)での制御が最も筋が良い選択肢です。ポイントは、“セキュリティグループ=接続先プールの割り当て”に変換してしまうことです。

考え方:グループごとに「接続先(プール)」を分け、物理的に枠を作る

RDS には「このグループは同時 35 セッションまで」という 1 パラメータがあるわけではありません。代わりに、次の 2 つの掛け算で上限枠を“設計として”作ります。

  • 各 RD セッションホストに設定する「同時接続数の上限」
  • そのグループ(またはプラン)に割り当てるセッションホスト台数

たとえば「同時 35」なら、1 台あたり最大 20 セッション × 2 台=最大 40のように枠を作り、余裕分(5)を“バッファ”として扱う設計が現実的です。完全に 35 ピッタリを狙うほど、運用が難しくなります(障害時・メンテ時に一気に枠が不足するため)。

RDS での実装イメージ(全体像)

構成要素を分解すると、次のようになります。RDS は要素が多く見えますが、要件を満たすための“制御点”は意外とシンプルです。

役割コンポーネント例この要件に効くポイント
入口(ポータル)RD Web Access / RemoteApp利用者の導線を統一し、接続先をブレさせない
接続の振り分けRD Connection Broker「どのホストへ入れるか」を制御し、プール運用を成立させる
セッション実行RD Session Hostホスト側の「最大接続数」設定で物理的な上限を作る
外部公開(必要時)RD Gatewayインターネットからの入口を一本化し、監査/制御点を作る
ライセンスRD Licensing同時数制限の機能ではないが、RDS 利用の前提として整える

数百グループに効く運用術:「プラン化」と「入れ子グループ」

数百のセキュリティグループをすべて個別にコレクション分割すると、構築はできても運用がすぐ破綻します。ここでおすすめなのが、「上限値が近いものをプラン化して束ねる」やり方です。

さらに AD 側は、グループを直接コレクションに割り当てるのではなく、プラン専用の集約グループを用意し、そこへ各部門グループを“入れ子(ネスト)”で収容すると管理が楽になります。

  • 例:RDS-Plan-35-Users(プラン集約)← 部門Aグループ、部門Bグループ…を追加
  • 例:RDS-Plan-50-Users(プラン集約)← 大規模部門のグループを追加

これにより、RDS 側の設定(コレクションの許可グループ)はプラン単位で固定でき、日々の増減は AD グループのメンバー管理に寄せられます。WordPress などで検索されやすい言い方をすると、「Windows Server 2025 の同時ログイン制限を、AD ではなく RDS 側で“プラン運用”する」イメージです。

具体例:プランで運用し、上限を“ホスト構成”で担保する

上限の段階(S/M/L…)を作り、各セキュリティグループはどれか 1 つのプランに属するようにします。

プラン名(例)目標同時数集約グループ(例)RDS コレクション(例)セッションホスト構成例
Plan-3535RDS-Plan-35-UsersRDS-COL-352 台 × 20 セッション上限(最大 40)
Plan-5050RDS-Plan-50-UsersRDS-COL-503 台 × 20 セッション上限(最大 60)
Plan-8080RDS-Plan-80-UsersRDS-COL-804 台 × 25 セッション上限(最大 100)

この方式なら「数百グループ」を「数プラン」へ畳み込めるため、コレクション数・GPO・監視対象を現実的な規模にできます。上限を細かく刻みたい欲求は出ますが、運用コストとトレードオフです。

RDS で押さえる設定ポイント:GPO で“枠が溶ける原因”を潰す

上限枠の運用は「数える」よりも「枠を食い潰す原因(放置/切断/多重)を潰す」ほうが効きます。RDS セッションホスト向けの代表的なポリシーを、目的別に整理します。

目的代表的な設定(例)効きどころ
ホストの最大同時接続を固定する「接続数を制限する(Limit number of connections)」ホスト単位の上限が確定し、プール全体の枠を設計できる
同一ユーザーの多重ログインを防ぐ「ユーザーを 1 セッションに制限する」“二重起動”で枠が溶けるのを防止
放置セッションを片付ける「アイドル セッションの制限」「切断セッションの制限」誰も使っていないのに枠が戻らない事故を減らす
時間切れ時の動作を統一する「時間制限到達時にセッションを終了する」部門ごとに挙動が違う“謎仕様”をなくす

なお、実際の値(何分で落とすか)は業務によって正解が違います。大事なのは全社で標準を決め、例外を増やさないことです。

タイムアウト設計のおすすめ(枠を守るための現場寄り設定)

運用で揉めやすいのは「席を外しただけなのに落とされた」「切断したのに枠が戻らない」のバランスです。用途別に推奨値を決め、例外を最小化すると安定します。

項目例(事務作業中心)例(開発/長時間処理)狙い
アイドル セッション制限60〜90 分120〜240 分放置セッションで枠が枯れないようにする
切断セッション制限15〜30 分60 分切断しっぱなしを防ぎ、枠の回復を早める
ログオフ時刻(強制ログオフ)業務終了+α原則なし(要監視)夜間の“幽霊セッション”を掃除する
1 ユーザー 1 セッション制限有効推奨要件次第同一ユーザーの多重セッションで枠が溶けるのを防ぐ

「枠が埋まった」時に起きる問い合わせを減らす工夫

同時ログイン数を制限すると、ピーク時に「ログインできない」問い合わせが必ず発生します。ここは技術ではなく、運用設計で差が出ます。

  • 入口を RD Web に寄せる:利用者が“直接サーバー名に RDP”し始めると制御が崩れます
  • 代替導線を用意する:軽作業は別プラン、緊急時は一時プールなど
  • 見える化する:今の空き状況をヘルプデスクが答えられるだけで混乱が減ります

RDS であれば、管理者向けには quser や RDS のセッション一覧で現状確認ができます。自動化するなら、監視ツールやスクリプトで「現在のアクティブ/切断セッション数」を定期集計し、レポート化しておくと便利です。

RDS だけで足りないとき:サードパーティ(Citrix など)を検討する判断軸

RDS は Windows 標準で構築できる反面、要件が複雑化すると設計で吸収する部分が増えます。たとえば次のような要件が強いなら、Citrix を含むサードパーティ基盤や VDI を検討する価値があります。

  • 利用者のネットワークが多様で、最適化(遅延対策/帯域制御)が重要
  • アプリ公開のポータル/認証/多要素認証/監査を統合したい
  • “部署・役割ごと”の割り当てや、きめ細かいポリシーが必要
  • 複数拠点/DR を含む大規模で、可用性要件が高い

ただし注意点として、製品によって「同時利用数の制限」がポリシー機能として提供される場合もあれば、結果的に「プールの規模で上限を表現する」形になる場合もあります。比較の際は“グループ別の上限をどのレイヤーで実現するのか”を確認し、運用の手数(誰が日々調整するか)まで含めて評価すると失敗しにくいです。

カスタム実装でやる場合:できるが「運用が壊れやすい」ことを理解する

「どうしても AD グループ単位で、OS へのログオンそのものを人数で止めたい」「RDS 以外のログオンも含めて数えたい」という場合、技術的にはカスタム実装で近づけることはできます。典型は次の 3 パターンです。

パターンA:ログオンイベントを集計し、超過時にログオフ/拒否する

  • 監査ログ(ログオン/ログオフ)を収集し、グループ別のアクティブ人数を算出
  • 超過していればログオン直後にサインアウトさせる、または接続を切る

パターンB:RDS ならログオン前後のスクリプト/フックでチェックする

  • ログオンスクリプト/タスクでセッション数をチェックし、超過時はメッセージを出して切断
  • より堅牢にするなら、認証/接続の手前(例:Gateway/NPS 側)で判定する構成もある

パターンC:端末/サーバーにエージェントを常駐させて中央で枠管理する

  • 中央の台帳(DB/Redis など)に「入室/退室」を登録し、枠を確保してからログオン継続
  • ハートビートが途切れたら枠を解放する

いずれも可能ですが、現場では次の“落とし穴”が頻発します。

落とし穴起きること対策の方向性
同時ログオンの競合同時に 2 人が入って枠を超える(レースコンディション)ロック機構/トランザクションを持つ中央台帳が必要
“切断”の取り扱い切断セッションが枠を占有し続ける切断タイムアウトの標準化、強制解放の運用
ネットワーク断/PC 強制終了退室が記録されず、枠が戻らないハートビート方式や TTL(期限)で自動解放する
例外ユーザーの増殖管理者/役員/夜間バッチなど例外が増え、ルールが崩れる例外は“別プラン”に分離し、個別対応を最小化
トラブル時の切り分け難易度「ログインできない」が多発し、原因調査に時間が溶ける判定ログ・可観測性(いつ誰が何枠で弾かれたか)を最初から作る

カスタム実装は「作る」よりも「壊れない運用にする」のほうが難しい領域です。RDS/VDI のように入口が集約できるなら、まずは標準基盤で枠を作るほうが総コストは下がりがちです。

「ドメイン参加 PC への対話ログオン」まで同時数で縛りたい場合の現実解

要件が「各自の PC へのサインイン」まで含む場合、AD だけではなく、RDS でも十分に制御できません。なぜなら、PC は拠点/在宅/オフラインなど状態が分散しやすく、ログオンの入口が統一できないからです。

この場合の現実解は、次のどれかに寄せることです。

  • 業務アプリを RDS/VDI 側へ寄せる:PC にはログインできても「業務環境へは枠の中でしか入れない」形にする
  • 入口を VPN/ゼロトラストの認証へ寄せる:社内リソースに入る段階で枠を作る(OS ログオンではなくアクセスで管理)
  • どうしても OS ログオンで縛るならエージェント型:ただし設計/監視/例外運用が重くなる覚悟が必要

「何を守りたいのか(サーバー資源、アプリ同時利用、ライセンス、予算)」を言語化し、制御点を OS ログオンに固定しないほうが成功確率は上がります。

よくある誤解:CAL やライセンスで“同時ログイン数”は制御できない

「予算に応じて同時ログイン数を変えたい」という文脈では、Windows Server CAL や RDS CAL を“同時ライセンス”のように捉えてしまうケースがあります。しかし、CAL は基本的にアクセス権(ユーザー/デバイスの権利)の話であり、製品側が“同時何人まで”を自動で枠管理してくれる仕組みとは別です。

そのため、予算・用途に応じて上限を作るなら、ライセンスの話とは切り分けて、技術的な入口制御(RDS/VDI/アプリ配信)で実現するのが安全です。

運用を安定させるためのチェックリスト

最後に、グループ別の同時ログイン枠を「作っただけ」で終わらせず、運用で事故らないためのチェックポイントをまとめます。

チェック項目具体例意図
“同時ログイン”の定義Active のみ数えるのか、Disconnected も含むのか利用部門との認識ずれを防ぐ
枠が埋まった時の挙動新規ログイン拒否、待機案内、別プール誘導問い合わせ対応を減らす
切断/放置セッション対策切断 30 分でログオフ、アイドル 90 分でログオフ“幽霊セッション”で枠が溶けるのを防ぐ
プラン設計の単純化Plan-35 / Plan-50 / Plan-80 の 3 段階数百グループでも運用できる規模に畳み込む
監視とレポート上限到達回数、ピーク時間帯、拒否回数増強/見直しの判断材料を作る
例外の扱い管理者は別プール、緊急用の“バースト枠”を用意例外増殖でルールが崩れるのを防ぐ

まとめ:AD に求めず、セッション基盤で「枠」を作るのが最短ルート

Windows Server 2025 でセキュリティグループ別に同時ログイン数を制限したい場合、AD だけで完結する設定パラメータは存在しません。要件を満たす現実的な方法は、ログインの入口(RDS/VDI/アプリ配信)を集約し、そこでグループ割り当てと枠(上限)を設計することです。

まずは「同時ログイン=どの入口を対象にするか」を決め、プラン化(段階化)で運用を単純化し、タイムアウトと監視をセットで整備してください。これだけで、数百グループでも“予算に応じた上限”を現場で回せる形に落とし込みやすくなります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次