Windows Server 2012のGUIがないServer Core環境で永続的に「アプリウィンドウごとに異なる入力方式を設定する」を有効にして幸せになる

Windows 8Windows Server 2012では、初期設定でIMEのオン/オフ状態が全てで共通となっており、コマンドプロンプトPowerShellを叩くときに非常に使いずらいうえに、規定で日本語入力モードがオンになっている。
Windows Server 2012をServer Coreでインストールした場合や、Hyper-V Server 2012では基本CUIでの操作となるので、大変迷惑である。

GUI環境であれば、「コントロールパネル/時計、言語、および地域/言語/詳細設定」にて「アプリウィンドウごとに異なる入力方式を設定する」をチェックすることで、ウィンドウごとに自分でIMEをオンにすることができるようになる。
問題は、CUI環境(Windows Server 2012 Server Core や Hyper-V Server 2012)の場合である。

PowerShellにて「Set-WinLanguageBarOption -UseLegacySwitchMode」を実行すると、実行したユーザがログインしているセッションでは「アプリウィンドウごとに異なる入力方式を設定する」と同様の動作をするようになるものの、再度ログオンすると元に戻ってしまい不幸になる。

仕方がないので、GUIを有効にしたWindows Server 2012レジストリの変更を追跡し、「アプリウィンドウごとに異なる入力方式を設定する」にチェックしたときに変更されている箇所を探してみた。

結果、
HKEY_USERS\S-1-5-21-(ログイン中のユーザのSID)\Control Panel\Desktop

UserPreferencesMask
のバイナリ値が
90 12 03 80 10 00 00 00
から
90 12 03 80 90 00 00 00
へ変更されていることがわかった。

そこで、Server Coreのレジストリで当該キーのバイナリ値を変更し、再起動後ログインしてみた。

変更前

変更後

幸せになれた。