RDP システムの機能キーを無効にします。 Windows 2008R2

必要なもの



ある晴れた夜、「曲線」または「意図的な手」からのさらなる保護が緊急に必要でした。 データベースの基礎はMS ACCESSであるため、ホットキー(削除、印刷など)を使用するなど、いくつかの不快な瞬間が発生し、開発者はそれらをオフにすることはありませんでした。 実際、Accessマクロとそれらを使用するユーザー権限に対処する時間はありませんでした。また、キーボードのすべてのファンクションキーを無効にするというアイデアは、組み込みのWebブラウザーコントロールの付随タスクを解決しました。ユーザー作成ファイルの削除の禁止、ヘルプの呼び出しの禁止画像ビューアとPDFのホットキー。 穴はすぐに修正され、開発者が休暇をとるのを待つ必要がありました。



予備的な分析と行動計画



すぐに思いついた解決策は、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Keyboard LayoutのScancode Mapレジストリにパラメーターを作成し、それに必要なすべてのキーの再割り当てを登録することでしたが、これはRDPに従って機能しないことがすぐに明らかになりましたまた、システムに完全に適用され、ホットキーの使用を許可された特権ユーザーに影響を与えました。



それから、Microsoft Keyboard Layout Creatorを思い出しました。彼はかつて自宅のコンピューターのキーボードレイアウトを編集しましたが、残念ながら、新しいバージョンにシステムキーの機能を追加しませんでした。



インターネットを研究したが、実行可能で実行可能なソリューションは見つかりませんでした。 あと1つしかありませんでした-独自のレイアウトを作成し、それをシステムに追加します。 まず、KBDRU.dllファイルとKBDUS.dllファイルを調べたところ、夕方には自分で把握するのは非常に難しいことが明らかになりました。 この問題を解決できるプログラムのレビューにはそれほど時間はかからず、すべてに独自の欠点がありましたが、最も重要なのはサーバーにプログラムをインストールすることでしたが、これは非常に望ましくない手段です。 レビューで判断した価値のあるプログラムは、KbdEditとKeyboard Layout Manager 2000でした。



また、上記のプログラムを使用して仮想マシン上にレイアウトを作成し、Microsoft Keyboard Layout Creatorをサーバー上の新しいレイアウトのインストールファイルのコンパイラとして使用できるというヒントがありました。



やる



しかし、すべてがそれほど単純であるとは限りませんでした。 KbdEditを研究した結果、彼が作成したdllレイアウトファイルが50KB以上で、元のファイルが7KBであり、このプログラムがないとレイアウトが機能しないことがすぐに疑われました。 Keyboard Layout Managerで作成されたファイルの重量は9KBで、完全に受け入れられました。



KLM2000を構成します。複雑なものは何もありません。既存のレイアウトに基づいて新しいレイアウトを作成し、編集を選択し、不要なシステムキーとファンクションキーをすべて無効にします(私の場合、赤で強調表示されているものすべて)。 NUMPADを少しいじる必要があったのは、データ(青色で強調表示)がシステム機能を実行しないようにするために、再割り当てを行う必要があることでした。 -未割り当ての0x89、「2」-0x8A、「3」-0x8B、「4」-0x8C、「5」-0x8D、「6」-0x8E、「7」-0x8F、「8」-0x92、「9」- 0x93

エクスポートを保存し、OKシステムで使用します。



画像



画像



次に、Microsoft Keyboard Layout Creatorを開き、このレイアウトを選択し、保存してエラーを表示します。 残念ながら、MKLCはシステムキーが無効になっているレイアウトをスキップしません。 次に、作成したKLM2000をWindows \ System32およびWindows \ SysWOW64 dllフォルダーからコピーし、MKLCを使用して他のマシンで標準レイアウトに基づいてインストールファイルを作成し、プロパティでKLM2000を使用してレイアウトを作成したときに指定したレイアウト名を指定します。



次に、MKLCを使用して作成されたキーボードレイアウトをサーバーにインストールし、KLM2000によって作成されたdllファイルをサーバー上の対応するWindows \ System32およびWindows \ SysWOW64フォルダーにコピーします。



重要です



正しい操作のために、これは必須であり、1つの言語に対して1つのキーボードレイアウトのみが必要です。 IgnoreRemoteKeyboardLayoutレジストリのパラメーターを忘れないでください。これにより、クライアントレイアウトがくっつかないようにできます。 再起動します。



加算



これに加えて、レジストリ内の特定のユーザーに対して次の変更を追加します。





-MS Accessの統合Webブラウザーコントロールのユーザーは、アカウントの下からMS ACCESSによって作成されたファイルであっても、ファイルの名前変更、コピー、削除、または移動ができないことがわかります。 (次の手順でACCESSファイルを作成します。最初に宛先フォルダーに一時ファイルが作成され、次に最終ファイルに名前が変更されるため、ここではグループポリシーの変更の禁止は適切ではありません)。



おわりに



少し実験をして、夜を丸ごと過ごす必要がありました。時間を節約するという点で、この記事が役に立つことを願っています。



一般に、サーバーにサードパーティのプログラムをインストールすることなく、非常に迅速なパッチのタスクが解決されました。これは良いことです。



All Articles