Windowsサーバー

Windows Server でリモートデスクトップを複数ユーザーで使う:RDP ユーザー追加・2 セッション制限・RDS ライセンス

5 ステップ 11 分で読めます 24 回閲覧 0
目次

Windows Server は既定で、管理用にリモートデスクトップの同時セッションを 2 つまで許可しています。管理者と同僚 1 人で使うには十分ですが、チームで一日中サーバー上で作業するには足りません。この記事では、ユーザーを追加してリモートデスクトップのアクセス権を付与する方法、2 セッション制限の仕組み、アイドル状態や切断されたセッションを自動的にサインアウトさせる方法、そしてリモート デスクトップ セッション ホストの役割と RDS ライセンスを使って、正規の方法でより多くのユーザーに対応する方法を解説します。

システムファイルを改変してセッション制限を解除するサードパーティ製のパッチや「RDP Wrapper」は使用しないでください。Microsoft のライセンス条項に違反するうえ、Windows Update の後に動かなくなることが多く、リモートデスクトップ接続をまったく受け付けなくなる恐れもあります。

ステップ1:ユーザーを作成してリモートデスクトップを許可

Administrator を共有せず、一人ひとりに個別のアカウントを用意しましょう。誰が何をしたかを把握でき、アクセス権も個別に削除できます。管理者として PowerShell を開きます。

# Create a local user (you will be asked for the password)
$pw = Read-Host -AsSecureString "Password for alice"
New-LocalUser -Name "alice" -Password $pw -FullName "Alice" -PasswordNeverExpires

# Allow Remote Desktop without full admin rights
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "alice"

# Only if this person really needs administrator rights
# Add-LocalGroupMember -Group "Administrators" -Member "alice"

Get-LocalGroupMember -Group "Remote Desktop Users"

Remote Desktop Users グループのメンバーはリモートでサインインでき、Administrators グループのメンバーは常にサインインできます。強力なパスワードとアカウント ロックアウトのポリシーを使用してください(Windows VPS のセキュリティ強化を参照)。

ステップ2:2 セッション制限の仕組み

リモート デスクトップ セッション ホストの役割がない場合、Windows Server が同時に受け付けるアクティブなリモートデスクトップセッションは最大 2 つです(これとは別にコンソールセッションがあります)。3 人目が接続すると、既存のどのユーザーを切断するかを確認するメッセージが表示されます。リモートデスクトップのウィンドウを閉じただけのユーザーは切断(Disconnected)状態のセッションとしてサインインしたまま残り、このセッションも制限数にカウントされ、メモリも使い続けます。

# See who is signed in and the session IDs
quser
query session

# Sign out a session (replace 3 with the ID from quser)
logoff 3

ステップ3:アイドル・切断セッションを自動でサインアウト

ローカル グループ ポリシー エディター(gpedit.msc)を開き、コンピューターの構成 → 管理用テンプレート → Windows コンポーネント → リモート デスクトップ サービス → リモート デスクトップ セッション ホスト(Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host)に移動します。

  • セッションの時間制限 → 切断されたセッションの時間制限を設定する(Session Time Limits → Set time limit for disconnected sessions):例えば 1 時間に設定すると、放置されたセッションがサインアウトされます。
  • セッションの時間制限 → アクティブだがアイドル状態のリモート デスクトップ サービス セッションの時間制限を設定する(Session Time Limits → Set time limit for active but idle Remote Desktop Services sessions):例えば 2 時間。
  • 接続 → リモート デスクトップ サービス ユーザーに対してリモート デスクトップ サービス セッションを 1 つに制限する(Connections → Restrict Remote Desktop Services users to a single Remote Desktop Services session):有効にすると、各ユーザーは 2 つ目のセッションを開かずに自分のセッションへ再接続します。
gpupdate /force
セッションがサインアウトされると、そのセッションで実行中のプログラムは終了します。24 時間動かし続ける必要があるものは、リモートデスクトップセッションを開いたままにするのではなく、サービスやスケジュールタスクとして実行してください。

ステップ4:3 人以上で使うにはセッション ホストの役割をインストール

3 人以上が同時に使う場合は、リモート デスクトップ セッション ホストの役割とリモート デスクトップ ライセンスサーバーをインストールし、Microsoft または販売代理店から RDS クライアント アクセス ライセンス(RDS CAL)を購入します。CAL はユーザーごと(Per User)または接続するデバイスごと(Per Device)のいずれかです。

# Install the Session Host and Licensing roles, then restart
Install-WindowsFeature RDS-RD-Server, RDS-Licensing -IncludeManagementTools
Restart-Computer

再起動後、Windows は 120 日間のライセンス猶予期間に入り、その間は CAL がなくてもユーザーが接続できます。猶予期間が終わる前に次の作業を行ってください。

  1. リモート デスクトップ ライセンス マネージャー(Remote Desktop Licensing Manager)(licmgr.exe)を開き、サーバーを右クリックしてサーバーのアクティブ化(Activate Server)を選び、続いてライセンスのインストール(Install Licenses)で RDS CAL を追加します。
  2. gpedit.msc のリモート デスクトップ セッション ホスト → ライセンス(Remote Desktop Session Host → Licensing)で、指定のリモート デスクトップ ライセンス サーバーを使用する(Use the specified Remote Desktop license servers)を有効にし(サーバー自身の名前を入力)、リモート デスクトップ ライセンス モードの設定(Set the Remote Desktop licensing mode)も有効にします(購入した CAL に合わせて Per User または Per Device を選択)。
  3. gpupdate /force を実行し、RD ライセンス診断機能(RD Licensing Diagnoser)(lsdiag.msc)で結果を確認します。

ライセンスサーバーを構成しないまま猶予期間が切れると、ユーザーには利用できるリモート デスクトップ ライセンス サーバーがないというエラー(no Remote Desktop license servers available)が表示され、mstsc /admin を使う管理者しか接続できなくなります。

ステップ5:複数ユーザー向けにリソースを見積もる

アクティブなデスクトップセッションはそれぞれメモリと CPU を消費し、ユーザーがブラウザーやオフィスアプリケーションを使うとさらに増えます。目安として、軽い作業のユーザーは 1 人あたり 1~2 GB、タブを多数開いてブラウザーを使うユーザーは 1 人あたり 2~4 GB のメモリを、サーバー自体のサービスに必要な分に上乗せして見積もってください。タスクマネージャーのユーザー(Users)タブでサーバーの状態を確認しましょう。

よくある質問

「The number of connections to this computer is limited and all connections are in use right now」と表示される

すでに 2 つのセッションがアクティブまたは切断状態になっています。logoff でいずれかをサインアウトし(ステップ2)、mstsc /admin で管理用のコンソールセッションに接続してください。再発を防ぐには、ステップ3の時間制限を設定します。

同じアカウントを 2 人で同時に使えますか?

リモート デスクトップ サービス ユーザーに対してリモート デスクトップ サービス セッションを 1 つに制限する(Restrict Remote Desktop Services users to a single session)を無効にすれば可能ですが、それでもおすすめしません。設定、ファイル、ログが混在してしまいます。1 人につき 1 つのアカウントを作成してください。

リモートデスクトップにまったく接続できない

これはセッション制限ではなく、接続性の問題です。リモートデスクトップ接続のトラブルシューティングを参照してください。

上記の手順で解決しない場合は、サポートチケットを送信して IMIDC の 24 時間 365 日対応テクニカルサポートへご連絡ください。サーバー IP、Windows Server のバージョン、必要なユーザー数、正確なエラーメッセージを添えていただくと、より迅速に調査できます。

この回答はお役に立ちましたか?

関連チュートリアル