Amazon WorkSpaces Windows 10 でキー配列を 106( 日本語 ) に設定する

みなさん、WorkSpaces 使ってますか?
私はあまり使わないのですが、最近、案件ベースで需要がでてきています。

オンプレでも EC2 上でもいいのですが、既存の AD に参加して使うケースが増えてます。
AD Connector を使う方法ですね。AD Connector をつかって、既存 AD へ参加する WorkSpaces 環境の構築は別の機会で書きます。

今回は、キー配列を 106  の WorkSpaces Windows 10 をイメージ化して、
バンドル起動した後でもキー配列を 106 のままにする方法です。

Workspaces 環境の構築は割愛します。

環境は以下の通りです。

  • EC2 の AD に AD Connector で接続
  • Standard with Windows 10 Japanese

起動直後の Windows 10 のキー配列を 106 に変更する

起動直後の Windows 10 Japanese は US 配列です。( 2018年8月現在 )
それを 106 キー配列に変更します。

 

スタートメニューのギザギザアイコンをクリックします。

[ 時刻と言語 ] をクリックします。

[ 地域と言語 ] をクリックします。

[ 日本語 ] をクリックし、表示される [ オプション ] をクリックします。

[ レイアウトを変更する ] をクリックします。

[ ハードウェア キーボード レイアウトの変更 ] にある [ 日本語キーボード ( 106/109 キー ) ] を選択し、サインアウトします。

再ログインすると日本語配列になってます。@が小指の位置にありますよ!

Mac のキーボード配列でも、[ 英数 ] キーで日本語文字入力切り替えできちゃいます。便利。

イメージ化してバンドルから WorkSpaces 起動すると US 配列に戻っちゃう

諸々設定されたこの状態で、イメージ化して他の WorkSpaces も作成したいなって思うじゃないですか。
いわゆるゴールデンイメージとしてっておきたいじゃないですか。

このイメージ、そのまま起動すると US 配列に戻ります。

悲しいですね。

そうならないために一工夫します。
WorkSpaces はバンドルから起動する際、Sysprep が実行されているようです。
Sysprep が実行されたタイミングで US 配列に戻っちゃいます。

なので、Sysprep が実行されても 106 キー配列のままになるようにしちゃいましょう!

キー配列を変更する

以下の手順でキー配列を変更する事で WorkSpaces のカスタムバンドルより新規に WorkSpaces を作成した場合でも、キー配列が US に戻ることはなくなります。

スタートボタンを右クリックし、デバイスマネージャーを開きます。

[キーボード]-[標準 PS/2 キーボード] を右クリックし、[ ドライバーソフトウェアの更新 ] を開きます。

“コンピューターを参照してドライバーソフトウェアを検索します” をクリックします。

“コンピューター上のデバイスドライバーの一覧から選択します” をクリックします。

[互換性のあるハードウェアを表示] チェックボックスを外し、
製造元一覧から [ (標準キーボード) ] を選択します。
モデル一覧から [ 日本語 PS/2 キーボード( 106/109 キー ) ] を選択し [ 次へ ] をクリックします。

警告メッセージがでるので [ はい ] を選択します。

インストールが実行されたあと、メッセージを [ 閉じる ] で閉じてください。
その後、再起動されます。

sysprep 時に参照される XML も修正

WorkSpaces はカスタムバンドルから起動する際、sysprep が実行されてる様子があります。

sysprep 時に参照される XML に TimeZone とSystemLocal などの設定があります。そこを修正します。

Windows 10 の場合、修正する XML はこちらです。

C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep\Unattend.xml

 

この Unattend.xml は管理者権限じゃないと編集できませんので、コマンドプロンプトを管理者として実行し、コマンドで notepad で編集します。

  1. コマンドプロンプトを右クリックの上、管理者として実行
  2. コマンドプロンプトで以下コマンドを実行

notepad C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep\Unattend.xml

下記の部分を en-US から ja-JP に修正します。

<InputLocale>ja-JP</InputLocale>
<SystemLocale>ja-JP</SystemLocale>
<UILanguage>ja-JP</UILanguage>
<UserLocale>ja-JP</UserLocale>

タイムゾーンも UTC から Tokyo Standard Time JST に修正します。

<TimeZone>Tokyo Standard Time</TimeZone>
<TimeZone>JST</TimeZone>

( Tokyo Standard Time だとエラーになるとご指摘いただきました。ありがとうございます。)

Unattend.xml を保存して終了です。

この状態でカスタムバンドルを作成し、WorkSpaces を起動してもキー配列が 106 のままになります。

WorkSpaces を起動する時に作成したカスタムバンドルを選択するよう注意しましょう。

編集後記

WorkSpaces の検証をしてみましたが、イメージ作成、起動など 20 分ほどかかりますね。

ちょっとした検証でも時間が溶けていきます。あまり触りたくないサービスです(笑

ではでは。

2 COMMENTS

ふじけん

はじめまして。
色々Sysprepの検証をしてまして、こちらのサイトにたどり着きました。

キーボードについての設定等をご教示いただきありがとうございます。

ただ、タイムゾーンの記載が私の環境で行った場合は、バンドルから
Workspacesを起動する際にエラーを吐いてうまくいかなかったため、
修正したところ、イメージの作成も無事できました。

(元の記載)
Tokyo Standard Time

(修正後)
JST

以上となります。
AWSにて、Windows Server 2019環境の方でSysprepを行った場合も
同じUnattend.xmlを使いまわすことができるようです。

ただ、Sysprepめんどくさいですよね。
出来れば、今後はしたくない作業です(笑)

返信する
ひがし

ふじけん様

コメントありがとうございます。
タイムゾーンの記載部分に誤りがあり申し訳ありませんでした。
だいぶ古い検証記事だったのでいろいろと変わったのかもしれないです。
訂正しておきます。ありがとうございます。

> AWSにて、Windows Server 2019環境の方でSysprepを行った場合も
> 同じUnattend.xmlを使いまわすことができるようです。
そうなのですね。初耳です。
新たな知見をありがとうございます!
EC2 上の Windows Server は EC2Config で Sysprep を実行されたと思いますが、
Windows Server を大量にデプロイする場合は、 Unattend.xml を Userdata などでコピーした方がいいかもしれないですね!

> ただ、Sysprepめんどくさいですよね。
> 出来れば、今後はしたくない作業です(笑)
そうですね(笑)
オンプレの仮想サーバ上で Windows Server をデプロイしていた時もそうだったんですが、
Windows Server イメージの使いまわしには Sysprep はつきものですね。。。

返信する

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA