私は2つのWindows2008 R2ターミナルサーバーを持っており、冗長性/負荷分散を維持するために両方のサーバーへのアクセスをユーザーに許可しています。
ユーザーが両方のサーバーに同時にログオンすることを制限するにはどうすればよいですか?
サーバー用に NLBクラスター をセットアップします。
セットアップ セッションブローカー
サーバーに適用されるGPO)で、GPO「ターミナルサービスユーザーを単一のリモートセッションに制限する」設定を有効にします。
これらの3つのことが一緒に働くことはあなたの目標を達成します。
両方のサーバーがドメイン内にある場合は、リモートデスクトップ接続ブローカーを設定し、リモートデスクトップサーバーファームを作成する必要があります。
ブローカーの仕事は、ユーザーをほとんど無料のサーバーに転送することです。 「弱いリンク」ではありません。接続プロセスは次のようになります。
_TERMINAL-FARM 172.16.16.1 TERMINAL-FARM 172.16.16.2 TERMINAL-FARM 172.16.16.3 etc
_- RDSサーバーは、ブローカーにこのユーザーを他のサーバーにリダイレクトする必要があるかどうかを尋ねます。ブローカーがダウンしている場合、ブローカーは接続を受け入れるだけで、サーバーがファームメンバーではないように機能します
ブローカーは、ユーザーがファームメンベットRDSサーバーで既にセッションを開いているかどうかを検索します。その場合、ユーザーをこのサーバーにリダイレクトするようにRDSに指示します。次に、ブローカーはすべてのRDSサーバーのLoadIndicator
*を検索し、ユーザーをリダイレクトするか、接続を受け入れるようにRDSサーバーに指示します。
ブローカーがユーザーを他のサーバーに移動するようにRDSサーバーに指示した場合、RDSサーバーはユーザーに別のIPアドレスに接続するように切り替えるように応答します(リダイレクト時には、DNS名ではなくIPアドレスが使用されます)
RDPクライアントは、接続するように指示されたサーバーに再接続します。クライアントがRDP暗号化を使用している場合は、パスワードの入力を再度求められます。TLS暗号化の場合は、ユーザーが自動的に認証します。
LoadIndicator
は、ファーム内の各サーバーの数値です。通常は、式LoadIndicator = (ServerWeight * ( LoggedOnUsers + PendingRedirections))
によって計算されます。サーバーが_Drain mode
_にある場合、LoadIndicator
の値は非常に大きいため(65535だと思います)、接続が_Drain mode
_のサーバーにリダイレクトされることはありません。
あなたが説明したことから、すべてのユーザーがどちらかのサーバーに同時にログオンするのを止めるものは何もないようです。もちろん、それは負荷分散を提供しません。ユーザーにサーバーを選択させるのではなく、各ユーザーが1つのサーバーにのみログオンできるようにすることを検討してください。いずれかのサーバーがダウンする可能性をカバーするために、必要に応じて実行する3つのスクリプトを作成することもできます。