Terminal Server クライアントの入力言語が Terminal Server セッションの入力言語と一致しない

重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明

現象

Terminal Server クライアントが Terminal Server コンピュータに接続した場合、キーボード レイアウトは保持されますが、入力言語がクライアントの設定と一致しない場合があります。

たとえば、クライアントの入力言語およびキーボード レイアウトにそれぞれフランス語、フランス語 (カナダ) が設定されている場合に、Terminal Server セッションの入力言語には英語、キーボード レイアウトにはフランス語 (カナダ) が既定で設定されます。

原因

Terminal Server クライアントは、現在のキーボード レイアウトを送信して Terminal Server セッションのキーボード レイアウトおよび入力言語を決定します。しかし、代替キーボード レイアウトには入力言語の設定が正しく保持されません。

解決方法

Service Pack の情報

この問題を解決するには、Microsoft Windows 2000 の最新の Service Pack を入手します。関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
260910 最新の Windows 2000 Service Pack の入手方法

修正プログラムの情報

マイクロソフトでは、この問題を修正する修正プログラムを提供しています。ただし、この修正プログラムは、この資料に記載されている問題のみを修正することを目的としたものです。この修正プログラムは、ここで説明する問題が発生しているシステムにのみ適用してください。

修正プログラムをダウンロードできる場合は、この「サポート技術情報」 (Microsoft Knowledge Base) の資料の上部に「修正プログラムのダウンロード」セクションがあります。このセクションが表示されていない場合は、Microsoft Customer Service and Support にリクエストを送信し、修正プログラムを入手してください。

: 別の問題が発生した場合、またはトラブルシューティングが必要な場合には、別のサービス リクエストを作成しなければならない場合があります。特定の修正プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。Microsoft Customer Service and Support の電話番号一覧または別のサービス リクエストの作成については、次のマイクロソフト Web サイトを参照してください。 :「ダウンロード」フォームには、修正プログラムを入手できる言語が表示されます。使用している言語が表示されない場合は、その言語の修正プログラムが存在しないことになります。
この修正プログラムをインストールすると、以下のレジストリ キーによりサーバー上で異なる処理を行うことができるようになります。ユーザーが Terminal Server コンピュータにログオンした後、セッションでは Terminal Server クライアントによって提供されたレイアウトではなく、ユーザー プロファイルに保存されている既定のキーボード レイアウトが使用されるようになります。

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。
  1. レジストリ エディタを起動します。
  2. 次のレジストリ キーに移動して、クリックします。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  3. [編集] メニューの [値の追加] をクリックし、次のレジストリ値を追加します。
    値の名前 : IgnoreRemoteKeyboardLayout
    データの種類 : REG_DWORD
    Value data: 1
  4. レジストリ エディタを終了します。
Terminal Server コンピュータへの初回接続時に、既定のキーボード レイアウトおよび入力言語を設定して、ログオフします。以降、すべてのユーザー ログオンに対して、プロファイルのキーボード レイアウトおよび入力言語が使用されます。

インストールされている入力ロケール用にキーボード レイアウトを変更するには、次の手順を実行します。

  1. コントロール パネルの [地域のオプション] を開きます。
  2. [入力ロケール] タブをクリックし、[言語] の下で、キーボード レイアウトまたは IME を変更する言語をクリックします。次に、[プロパティ] をクリックします。
  3. [入力ロケールのプロパティ] ダイアログ ボックスで、使用するキーボード レイアウトまたは IME をクリックし、[OK] をクリックします。
この修正プログラム (英語版) のファイル属性は次の表のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。

日付 時刻 バージョン サイズ ファイル名
------------------------------------------------------------------------
2002/07/26 10:27 5.0.2195.5781 123,664 adsldp.dll
2002/07/26 10:27 5.0.2195.5781 131,344 adsldpc.dll
2002/07/26 10:27 5.0.2195.5781 62,736 adsmsext.dll
2002/07/26 10:27 5.0.2195.5940 358,160 advapi32.dll
2002/07/26 10:27 5.0.2195.5265 42,256 basesrv.dll
2002/07/26 10:27 5.0.2195.5855 49,424 browser.dll
2002/07/26 10:27 5.0.2195.5943 135,952 dnsapi.dll
2002/07/26 10:27 5.0.2195.5595 96,016 dnsrslvr.dll
2002/07/26 10:27 5.0.2195.5722 45,328 eventlog.dll
2002/07/26 10:27 5.0.2195.5907 222,992 gdi32.dll
2002/07/26 10:27 5.0.2195.5859 145,680 kdcsvc.dll
2002/06/04 10:31 5.0.2195.5859 199,952 kerberos.dll
2002/07/26 10:27 5.0.2195.4928 708,880 kernel32.dll
2002/07/15 04:52 5.0.2195.5940 71,024 ksecdd.sys
2002/07/22 12:54 5.0.2195.5960 507,152 lsasrv.dll
2002/07/22 12:54 5.0.2195.5960 33,552 lsass.exe
2002/07/26 10:27 5.0.2195.4733 332,560 msgina.dll
2002/07/23 10:27 5.0.2195.5966 108,304 msv1_0.dll
2002/07/26 10:27 5.0.2195.5979 307,472 netapi32.dll
2002/07/26 10:27 5.0.2195.5966 360,720 netlogon.dll
2002/07/26 10:27 5.0.2195.5979 916,752 ntdsa.dll
2002/07/26 10:27 5.0.2195.5966 387,344 samsrv.dll
2002/07/26 10:27 5.0.2195.5951 129,296 scecli.dll
2002/07/26 10:27 5.0.2195.5951 302,864 scesrv.dll
2002/07/18 13:45 5.0.2195.5950 64,000 sp3res.dll
2001/06/25 15:17 3.10.0.103 47,808 user.exe
2002/07/26 10:27 5.0.2195.5931 379,664 user32.dll
2002/07/26 10:27 5.0.2195.5968 369,936 userenv.dll
2002/07/26 10:27 5.0.2195.5859 48,912 w32time.dll
2002/06/04 10:32 5.0.2195.5859 57,104 w32tm.exe
2002/07/17 07:45 5.0.2195.5948 1,642,416 win32k.sys
2002/05/03 07:31 5.0.2195.5731 178,960 winlogon.exe
2002/07/26 10:27 5.0.2195.5935 243,472 winsrv.dll
2002/07/26 10:27 5.0.2195.5944 125,712 wldap32.dll
2002/07/26 10:27 5.0.2195.5774 72,976 wmicore.dll

回避策

この修正プログラムをインストールすることなく、この問題を回避するように Terminal Server の RDP クライアントを構成することができます。そのためには、代替キーボード レイアウトを使用する前に、キーボード レイアウト用のレジストリ キーを以下のとおり設定します。また、クライアントを構成し、セッションのプロファイルでキーボード レイアウトを元に戻すように設定することもできます。次の手順を実行します。

  1. Substitutes キーからロケール ID を取得します。

    以下のキーには代替キーボードの値が保持されています。以下の例では、値 00000c0c がカナダ (標準) のキーボード レイアウトの値 00001009 に切り替えられています。
    HKEY_CURRENT_USER\Keyboard Layout\Substitutes
    00000c0c REG_SZ 00001009
  2. Terminal Server クライアントで、以下のレジストリ キーのキーボード レイアウトの値 (REG_SZ) を手順 1. で取得した値に設定します。

    この例では、値を 00000c0c に設定しています。
    1. レジストリ エディタを起動します。
    2. 次のレジストリ キーに移動し、クリックします。
      HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
    3. [編集] メニューの [値の追加] をクリックし、次のレジストリ値を追加します。
      値の名前 : Keyboard Layout
      データの種類 : REG_SZ
      値のデータ : 00000c0c (または Substitute キーから取得したロケール ID)
    4. レジストリ エディタを終了します。
  3. Terminal Server のユーザー プロファイルが Terminal Server クライアントと一致するように設定します。
    1. コントロール パネルの [地域のオプション] を開きます。
    2. [入力ロケール] タブをクリックし、[言語] の下で、キーボード レイアウトまたは IME を変更する言語をクリックします。次に、[プロパティ] をクリックします。
    3. [入力ロケールのプロパティ] ダイアログ ボックスで、使用するキーボード レイアウトまたは IME をクリックし、[OK] をクリックします。

状況

マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。 この問題は、Microsoft Windows 2000 Service Pack 4 で修正済みです。

詳細

Terminal Server クライアントでプロファイルのキーボード レイアウトを使用するように設定している場合、その設定はユーザーのログオンと同時に有効になります。したがって、キーボード レイアウトはクライアントのログオン画面で指定することになります。つまり、ユーザーは Terminal Server に接続するたびに適切なキーボードの種類を選択する必要があります。
プロパティ

文書番号:322042 - 最終更新日: 2008/10/03 - リビジョン: 1

フィードバック