2013年2月4日月曜日

Windows 8でホームディレクトリを英数字のみのユーザ名にする方法

かなり過日のことでしたが、Windows 8が作成するホームディレクトリが漢字にならない方法を見つけたので、念のため紹介しておきます。

普通にWindows 8をインストールする際には、ユーザの登録場面で、Microsoftアカウントの作成もしくはMicrosoftアカウント(旧Live ID、旧旧Hotmailアカウント、旧旧旧...)でのログインを求められます。このとき、そのMicrosoftアカウントに関連付ける氏名に漢字を使っていると、下の名のほうを使った日本語フォルダが作成され、ホームディレクトリになります。僕の場合は、ユーザの下に「敏之」というフォルダができるという感じ。

いまどきの若い方々は下の名前で互いに呼び合うので違和感はないかもしれませんが、私のようないい年のおっさんには、「なんだよ、呼び捨てかよ」的な違和感が残ります。

またなにより、ホームディレクトリの下には、Windowsでユーザ固有の設定を置くユーザプロファイルという特殊なファイル(普通は見えない)や、アプリケーションの個人設定などを置くApplication Dataフォルダなどがあり(これも普通は見えない)、インストールしたアプリはすべからくこれらを読み書きします。

そこで、例えばネットからダウンロードしてきたソフトウェアとか、日本語版でないアプリケーションなどを動かすと、ユーザプロファイルやApplication Dataフォルダ以下が見つからずに、へんてこに文字化けた謎フォルダを作ったあげく、起動しないということがたびたび生じます。

世間ではこのようなとき、「英数字でないログイン名をつける奴が悪い」「その変な文字やめれ」的な回答をユーザーフォーラムのようなところで雨あられと頂戴することになっております。これは漢字圏に限らずヨーロッパでも同じで、母国の正しい表記の名前でユーザ名を作ったばかりに、上記のように屈辱的な回答を頂戴して「ごめん、出直してくるよ」と回答せざるを得なくなるケースを非常によく見ます。旧聞になりますが、Kobo騒動では三木谷がマヌケだったわけではなく、彼こそがグローバルスタンダードだったといってもよいぐらいなわけであります。

そんなわけで、Windows 8はLive IDもといMicrosoftアカウントとの統合が売りなので、Microsoftアカウントでないことに対して様々な不安を与える表示を出して、Microsoftアカウントへと誘導します。しかし、ここさえ乗り切れば、「つい、うっかり」非英数字のホームディレクトリを作成してしまうことを避けることができるのです。

いま、インストールの途中でMicrosoftアカウントの作成もしくはMicrosoftアカウントでのログインを求められている場面だとします。ここで、迷わず「ローカルアカウントを使う」を選ぶのです。すると、Microsoftアカウントを使うことの優位性を説かれ、「それでもいいですか」的な表示が出ます。ここでひるんではいけません。非情に「ローカルアカウントを作成する」を選択します。そして、英数字でローカルアカウント作成するのです。

これで、ホームディレクトリは英数字の範囲内で作成されました。でも、もちろんローカルアカウントなので、Windows Live(でいいんだっけ)による、ユーザ情報の共有やアプリの同期などはできません。どうせWindows 7まではそうだったし、この状態でもSkyDriveなどは個別にアプリからログインすれば使えますから、このままでもいいでしょう。でも、ありがたいことに、この状態から「Microsoftアカウントへ切り替える」しても、ホームディレクトリはそのままなのです。この変更は、個人設定でできます。スタート画面でチャーム(右からうにょって出てくるやつ)を出し、いちばん下のギアを選択して、切り替わった画面のいちばん下にある「PC環境の設定」を選べば、「PC設定」アプリが起動し、左の「ユーザー」メニューを選べば、「お使いのアカウント」として、Microsoftアカウントへ切り替えるのボタンが現れます。ここではじめてアカウントを作成するのもよし、すでにLive IDをお持ちならそれでログインすればいいというわけです。

ちなみにこれは一方向です。というか、最初に作成されたホームディレクトリが必ず維持されます。なので、先に非英数字のホームディレクトリを作成してしまったら最後、いくらMicrosoftアカウントの氏名をローマ字に変更しようとも、漢字なら漢字のままです。思い出してください。ここには、ユーザプロファイルという、Windows NT以後最重要な個人設定ファイルがあるのです。途中でこのファイルの場所を変更するのは危険です。できないように作りこむのがメーカーの良心というものでしょう。

Windowsの設定に詳しい方なら、プロファイルのパスを設定変更する方法をご存知かと思います。もちろん、その機能はあります。同じ画面でホームディレクトリを直接指定することもできるので、英数字の任意のフォルダをホームディレクトリに設定することも可能です。しかし、残念ながら、Application Dataフォルダは相変わらず漢字のフォルダ側に残ります。要するに、普通にユーザから見えるデータの置き場所だけが設定したディレクトリになるだけなのです。さらに悪いことに、ユーザプロファイルが分断されて、両方に書き込みが(一貫性なく?)あるようです。環境変数の書き換えも万能ではありません。アプリケーションによっては、こうした設定に従ったり、環境変数だけを参照してくれるケースもあるのでうまくいくこともありますが、それは運がよかったというべきかと思います。したがって、これらは「無駄な抵抗」と思っておいたほうが無難ではないかと僕は思っています。

最後に、もう一度だけおさらいしておきます。

「先にローカルアカウントを英数字の範囲だけで作成し、そのあとでMicrosoftアカウントへ移行すれば、日本語のフォルダが勝手に作られることから逃げられます。」

日本語のホームディレクトリができてしまった人は残念です。Windowsと心中できる覚悟のない方は、諦めて再インストールしましょう。事情があって再インストールは不可能な場合は、新たにローカルアカウントを英数字で作り、いったんサインアウトしてから新しいローカルアカウントでサインインして、なんとかすればいいでしょう。ただし、ホームディレクトリの削除は管理者権限でコマンドプロンプトを開いたぐらいでは消すことができません。もちろん、管理者権限でコマンドプロンプトを開いてそこでの作業をするのは前提なのですが、attrコマンドでファイルやフォルダに対してひとつひとつ権限を外したあとでなければ、どうやっても消せません。非常に面倒です。こういうときは、ダチョウアルゴリズムを採用して、「見なかったことにする」のが正しい対処法ではないかと思われます。

そういえば、マイクロソフトに忠実な方で、正式版以前からアップデートされてきた方は、Windows.oldというフォルダがCドライブのルートにあることでしょう。これも同じように、attrコマンドでちまちまと膨大な作業をしないと消えません。VBScriptやPowerShellを使いこなせる人が近くにいれば、スクリプトで作業するのも手かもしれませんが、ディスクにゆとりがあるなら、これも「見なかったことにする」のが最も手っ取り早いように思います。多少ディスクの残りが厳しいならば、管理者権限である程度までは消すことができるので、それをやってあとは諦めるのでもよいと思います。