%USERPROFILE% でいろいろやってみる

中国にある拠点は今まで東京と拠点間VPNでつないでひとつのドメインとしていましたが、回線が遅く品質が低いという問題と、ノン・テクニカルなローカルスタッフとの日本語コミュニケーションにとても問題があるってことで、十分なヘルプデスク機能を提供できていませんでした。
思い切って東京と切り離して中国だけのフォレストを作ることにしました。

日本のとある Tire One Carrier さんの中国法人が現地では SIer もやってるので、こちらに構築と管理をお願いすることに。

向こうから出てきた仕様にいろいろ問題があったのでその点を指摘。
また一部仕様についてはこちらで再現して問題点を見つけて解決方法とともに逆提案です

むこうもかなりデキル人間がいるんだけど、こちらにも勝てる部分があったのでがんばってみました。

再現した仕様というのはユーザデータを既定のCドライブではなくパーティションを切ったディスクのDドライブに置くにはどうすればいいかって問題です。
レジストリエディタで以下のキーをひらく。

HKEYH_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

各値の %USERPROFILE% をすべて D ドライブのフォルダ、例えば D:\data\%USERNAME% に変更する
このキーはログオンしているユーザに対してだけ有効なので、これをすべての新規ユーザに適用するたの操作を行う。

再起動して別ユーザでログオン後、上の作業を行ったユーザプロファイルを デフォルトユーザ に上書きコピーする。
これによって、すべての新規ユーザでデスクトップやマイドキュメントを始めほとんどのユーザデータは D ドライブに保存されるようになります。

何でこんなことをするかというと、Windows に障害が発生した場合、ユーザデータを失わずに C ドライブだけをリカバリーできるからテクニカルスタッフがオフィス内に常駐できない拠点でも、ユーザレベルで障害対応が可能になるわけです。
また、リカバリーするだけだから対応時間も短いですよね。
あとはコンピュータ名の変更とドメインへの参加方法のドキュメントをユーザに渡してあげればよいだけです。

でもこの設定で問題が発覚。
こうして作られた D ドライブのユーザデータは、他のユーザから「読み込みと実行」権限で読み出せてしまうんですね。
そこで既定の %USERPROFILE% である C:\Documents and Settings と同じアクセス権を D:\DATA に施すとどうなるか。
すでにデータフォルダが作成されている既存ユーザについてはうまくいくんですけれども、新規ユーザでログオンするとアクセス権違反が発生し D:\DATA\%USERNAME% の下に各データフォルダを作成できない。
まったく作成できないのではなく Local Settngs と Application Data 作成されるが Desktop を作成しようとしたところでアクセス権違反が発生します。

正確な原因と回避方を追っかけてはいられなかったのですけど、主因についてはわかります。
D ドライブに作成したユーザフォルダは、確かにユーザのデータの一部を格納しますが、ユーザプロファイルそのものではないってことですね。
基本的なユーザ情報である ntuser.ini / ntuser.dat / ntuser.log は依然として %USERPROFILE% で規定される C:\Documents and Settings\%USERNAME% に格納されるんです。

とうことでさらなる追加設定を行います。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList キーのうち
ProfilesDirectory の値を既定の "%SystemDrive\Documents and Settings" から 新しい値である D:\DATA へ変更する。
最初に上書きコピーした Default User フォルダを D:\DATA にコピーしておく

これで %USERPROFILE% の既定フォルダが完全に書き変わりましたが、
最初の Curent_User レジストリで指定した D:\data\%USERNAME% と
あとの Local_Machine レジストリで指定した ProfilesDirectory の値は同じものを指し示しますから矛盾は生じません。

再起動後は新規ユーザのログオンでアクセス違反が起こらなくなりましたし、他のユーザデータを見ることもできなくなりました。
また既存ユーザについてもユーザプロファイルは D ドライブに作成されるようにりました。

この状態で C ドライブのリカバリーディスクを作成しておけば、ユーザデータを失わずにリカバリーが可能です。

ってなことを検証して、その結果を今日にも中国の SIer さんに送ってあげるんですけど、カットオーバーに間に合うかなぁ。

 

09/12/07 追記

ユーザプロファイルを既定以外の場所に動かすことについてマイクロソフトのサポート技術情報がありましたので記載しておきます

http://support.microsoft.com/default.aspx?scid=kb;ja;314843

セットアップ時に unattend.txt や winnt.sif に

[GuiUNattended]
ProfilesDir =z:\foldername

を記述することで既定以外の場所をユーザプロファイルとすることはサポート対象だけれども、通常のセットアップ後に変更するのはサポート対象ではない。
またこの文書に記載してあるセットアップ後の変更は、レジストリに記載されているすべての Documents and Settings (キーも値も)を新しものに変更しろというもので、僕がやったものよりもっと徹底的ですね

広告

nobuhikoi について

msnスペースのサービス終了でここに移動してきて以来、ここのことは特に誰に知らせるでも無く不定期に書いています。 読者が居るとも思ってません。 人を楽しませる文章が書けるわけじゃ無いしね。 だからコメントなんて全然つかないけど、それは平気なんです
カテゴリー: 未分類 パーマリンク

%USERPROFILE% でいろいろやってみる への2件のフィードバック

  1. なし より:

    たまには見に来る人も居るわけでして。。。
    元はと云えばCドライブをSSDに変えたんですけど、徹底して更新させないようにしてやろうと思い参考情報を探していたら着地した次第です。いろいろなありがたい情報を拾うことが出来て、あとはntuser.dat LOGをどうするかって段階です。
    そういう訳で、マイナーな情報でも頑張って継続していただきたいと思います。

  2. nobuhikoi より:

    おお、古い投稿に反応してくださってありがとうございます。この記事はWindowsXPでのばあいでして、VISTA以降は%systemdribe%\Documents and Settings\Default User を闇雲にコピーしてもうまくいきません。ちゃんとsysprepを実行する必要があります。
    VISTA以降で新規ユーザにカスタマイズを適用するための情報はTechNetのここがムービーでわかりやすいです
    http://technet.microsoft.com/ja-jp/win7_5mins21

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中