Windows はユーザごとの設定、ユーザプロファイルを持っています。このユーザプロファイルは、SIDで識別されており、同一になる可能性はまれです。つまり、同じユーザ名を作成してもSIDが同じにならないので、異なるユーザとして認識されます。
これは、同一にならないので便利と言えば便利なんですが、あえて違うユーザに移植したいなどの時不便になります。
前回、Active Directoryを破壊してしまい、すべてのSIDが変わってしまったのでこの策が有効でした。
ちなみに、ツールが存在しています。Windows Server 2003 Resource kit に MoveUser という物が含まれています。これは、XPのみに対応し、Vistaは非対応です。
この方法は、Vistaでも動作を確認しています。ですが、自己責任で行ってください。
Windows XP Home Edition は不可能です。
方法
SIDの確認
- 移行先ユーザでログオンする。このとき、初めてログインするとき、新しいユーザプロファイルが作成される。
- 「ファイル名を指定して実行」で「regedit」と入力して、OKを選ぶ。
- 「HKEY_USERS」を展開して、「S-1-5-21-」で始まっているものが1種類2個あるはずなので、このSIDをメモする。
- ログオフする。
Administrators権限で操作
- Administrators権限を持つユーザでログオンする。移行先ユーザのままで行っても良いが、失敗したときにログオン出来なくなり、最悪OSの再セットアップとなる可能性がある。
- 「ファイル名を指定して実行」で「regedit」と入力して、OKを選ぶ。
- 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ProfileList」の中にメモしたSIDがあるのでそれを開く。
- 「ProfileImagePath」に割り当てたいユーザプロファイルを選ぶ。出来るだけ、ユーザ名のフォルダ名にしておく方がよい。
- 「HKEY_*」を選ぶ。どれでも良い。
- 「ファイル」で「ハイブの読み込み」を選ぶ。
読み込むファイル ProfileImagePath\NTUSER.DAT
キー名 何でも良い。(tmp など) 隠しファイルになっていることがあるので、フォルダオプションで表示するようにしておくか、直接ファイルパスを指定する。
- 開いたキーを右クリックして、「アクセス許可」を選ぶ。
「追加」を選んで、移行先ユーザ名を入力し、「OK」を選び、「フルコントロール」にチェックを入れて「OK」を選ぶ。 - もう一度6.7.をする。
読み込むファイル
Windows XP: ProfileImagePath\Local Settings\Application Data\Microsoft\Windows\UsrClass.DAT
Windows Vista: ProfileImagePath\AppData\Local\Microsoft\Windows\UsrClass.DAT - エクスプローラで ProfileImagePath を開く。
- 何もないところで右クリックして、「プロパティ」を選ぶ。
- 「セキュリティ」タブで、7.と同じことを行う。
Windows XPの場合は、フォルダオプションで「簡易ファイルの共有を使用する(推奨)」のチェックをはずしておかないと、このタブが現れない。 - ログオフする。
動作確認とトラブル
- 移行先ユーザでログオンする。
- デザインがおかしい。キーボード配列がおかしい。
レジストリエディタでアクセス許可が正しくない。 - すぐにログオフされる。
ProfileImagePathのアクセス許可が異常の可能性有り。
ちなみに、私の環境では動作しています。ただし、Vista環境でInternet Explorerが立ち上がらないという異常が現在出ています。管理者権限で実行をすると動くのでアクセス許可が無い可能性が高いと思っています。
コメントする