今日、私は知らなかった興味深い状況に遭遇しました。
サーバーDNSホスト名A
を使用してユーザーSERVNAME
でログインし、セッションとデスクトップを取得しました。デスクトップにファイルを置きました。
次に、私の友人も同じユーザーA
でログインしましたが、サーバーのIP xxx.xx.xx.x
とWindowsは、同じユーザーA
とデスクトップの2番目のバージョン用に2番目のセッションを作成しました!彼は私のデスクトップからファイルを見ることができず、さらに私が期待したように私のセッションから追い出されませんでした。
しかし、彼がサーバーの名前SERVNAME
で接続すると、彼は私をセッションから追い出します。
Restrict each user to a single session
はYes
(fSingleSessionPerUser = 1
)どうすればよいですか?IPまたはドメイン名によるロギングの違いは何ですか?
ここには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を見てください。
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の誰かがそれを渡して修正することを期待することです将来のある未知の時間に。
説明
上記のコメントが述べているように、サーバーベースのターミナルサービスは、複数の異なるユーザーから、または同じユーザーの(構成されている場合)同時ログインのいずれかから、同じマシンへの複数の接続を受け入れます。
どうしてですか? IPまたはドメイン名によるロギングの違いは何ですか?
違いはありません。2つの異なる方法を使用して同じマシンにリモート接続しているだけです。 1)単にIPを検索して解決するホスト名、および2)ドメインの代わりにIPを使用するホスト名、つまり 基本DNS 。
同時ログイン
ターミナルサーバーサブキー内には、複数の同じユーザー接続を担当するレジストリ値があり、それがfSingleSessionPerUser
DWORDです。
レジストリを開く(+R)-> regedit + enter
案内する
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer
ダブルクリックまたは右クリック–>キーを変更しますfSingleSessionPerUser
値がに設定されていると想像します。これを1に変更します。
変更を適用して、リモートデスクトップサービスを再起動します。 (以下を参照)
Cmdを開きます(+R)-> cmd + enter
タイプnet stop termservice
を押して enter、次にnet stop termservice
を押して enter。
上記の回答は、Windows Server 2013の最新リリースでテストされており、Windows Server 2003にまでさかのぼります。