web-dev-qa-db-ja.com

DNSホスト名またはIPを使用したサーバーへのリモートログイン(RDP)により、同じユーザーアカウントに2つのデスクトップが提供されます

今日、私は知らなかった興味深い状況に遭遇しました。

サーバーDNSホスト名Aを使用してユーザーSERVNAMEでログインし、セッションとデスクトップを取得しました。デスクトップにファイルを置きました。

次に、私の友人も同じユーザーAでログインしましたが、サーバーのIP xxx.xx.xx.xとWindowsは、同じユーザーAとデスクトップの2番目のバージョン用に2番目のセッションを作成しました!彼は私のデスクトップからファイルを見ることができず、さらに私が期待したように私のセッションから追い出されませんでした。

しかし、彼がサーバーの名前SERVNAMEで接続すると、彼は私をセッションから追い出します。

  • はい、同じサーバーです。
  • オプション Restrict each user to a single sessionYesfSingleSessionPerUser = 1

どうすればよいですか?IPまたはドメイン名によるロギングの違いは何ですか?

2
Rodion

ここには2つの質問があります。

1.)WindowsターミナルサービスがユーザーAを1つのセッションに制限しないのはなぜですか?

Users can open multiple sessions to a server that is restricted to a single session for each user.と書いてあります

続けてThis functionality is working as expected. This setting is limits each user to one unique session. However, if the user is running different initial programs, the sessions are considered as different sessions.と言います

サーバーのホスト名とIPアドレスを使用するだけで、Windowsはセッションが一意であると見なすことができます。

2.)私のセッションでは、デスクトップにファイルがありますが、このファイルが2番目のセッションに表示されないのはなぜですか?

Windowsは2つの一意のセッションを作成しているため、ユーザーAの2回目のログイン用に2番目の一意のプロファイルを作成しています。コマンドプロンプトに移動すると、1つのセッションがC:\Users\User A\で開始され、2番目のセッションがC:\Users\User A.000\であることがわかります。同様に、WindowsファイルエクスプローラーウィンドウからC:\ Usersを見てください。

3
David

DNSまたはIPアドレスを経由する場合、RDP要求を発信しているコンピューターのIDに違いがあると思います。

違いは、WORKGROUPなどの別の修飾子を取得するユーザー名にある可能性があります。

両方の方法を使用してログオンすることをお勧めします。次に、コマンドプロンプト(cmd)で whoami コマンドを使用して正確なユーザーを検索します使用されるアカウント:

whoami /user

違いがある場合、あなたはあなたの答えを見つけました。

[編集]

どちらの場合も、同じドメインに同じSIDを持つまったく同じユーザーがいることがわかったので、私の唯一の説明は、あなたには見えない違いです。 DNS要求が原因で、接続要求がIPアドレスを使用するときに使用されるネットワーク内の正確なパスをたどらない可能性があります。

私の個人的な結論は、その場合のWindowsは適切な場所で接続を検索せず、既存の接続を見つけられないため、新しいセッション/デスクトップを開くということです。ただし、この新しいデスクトップでログインプロセスを実行すると、正しいユーザーアカウント/ SIDでログインするため、同じユーザーが2つのデスクトップを持つことになります。

Sysinternalsの LogonSessions ユーティリティを使用して、その可能性をさらに調査できる場合があります。このユーティリティは、現在アクティブなログオンセッションに関するより詳細な情報を提供します。もう1つの便利なユーティリティは EnumWinsta GUI で、これは ウィンドウステーション とデスクトップのリストを表示します。

詳細については、記事をご覧ください。
Windows Sysinternals:Windowsコアの概念-セッション、ウィンドウステーション、デスクトップ、およびウィンドウメッセージ

言い換えれば、これはRDPの文書化されていないバグであり、報告する必要があると思います。残念ながら、 Microsoft Connect はWindowsのバグを受け入れないので、唯一の選択肢は Microsoft Windowsフォーラム に行き、Microsoftの誰かがそれを渡して修正することを期待することです将来のある未知の時間に。

1
harrymc

説明

上記のコメントが述べているように、サーバーベースのターミナルサービスは、複数の異なるユーザーから、または同じユーザーの(構成されている場合)同時ログインのいずれかから、同じマシンへの複数の接続を受け入れます。

どうしてですか? IPまたはドメイン名によるロギングの違いは何ですか?

違いはありません。2つの異なる方法を使用して同じマシンにリモート接続しているだけです。 1)単にIPを検索して解決するホスト名、および2)ドメインの代わりにIPを使用するホスト名、つまり 基本DNS

同時ログイン

ターミナルサーバーサブキー内には、複数の同じユーザー接続を担当するレジストリ値があり、それがfSingleSessionPerUserDWORDです。

レジストリを開く(Windows Key+R)-> regedit + enter

案内する

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer

ダブルクリックまたは右クリック–>キーを変更しますfSingleSessionPerUser

値がに設定されていると想像します。これを1に変更します。

  • =ユーザーごとに複数のセッション
  • 1=ユーザーごとに1つのセッション

変更を適用して、リモートデスクトップサービスを再起動します。 (以下を参照)

Cmdを開きます(Windows Key+R)-> cmd + enter

タイプnet stop termserviceを押して enter、次にnet stop termserviceを押して enter

上記の回答は、Windows Server 2013の最新リリースでテストされており、Windows Server 2003にまでさかのぼります。

0