- PR -

固定プロファイルのログオン後のHKCUへreg追加する方法について

1
投稿者投稿内容
tawa23
会議室デビュー日: 2007/05/12
投稿数: 4
投稿日時: 2007-05-12 02:04
お知恵をお借りできればと思います。

【状況】
一般の制限ユーザーは固定プロファイルを背負っている、
Users権限しかないアカウントを使用してドメインログオンする環境です。
サーバ:Win2003/クライアント:XP
この環境で、特定のPCにだけ入っているアプリで
必要なHKCU配下のレジストリキーと値を、
ログオンスクリプトやスタートアップスクリプト、
GPOやタスクなどの何らかの方法で、ユーザーがログオンしたら
そのキーがレジストリに有る状態でPCが使える、
ということが実現できればと思っています。

大本の固定プロファイル自体は他PCへも影響してしまう為
変更が出来ません。その為PCかOUに紐付けて処理が出来たらと思います。

単純に、ログオンをトリガーにregファイルの追加するようなタスク、
またログオン後に少しWaitを置いてregインポートするようなBat、
またそれを指定したスタートアップスクリプトなど試してみたのですが、
どれも上手く行きませんでした。。

必要なレジストリキーがHKLMやHKUで有れば事前にレジストリを追加出来るのですが、
固定プロファイルかつ、HKCUということで困っております。

こうやって出来た、また出来るのでは?というようなアイディアだけでも
ヒントになりますのでありがたいと思います。

宜しくお願い致します。

ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-05-12 02:16
その registry key は毎回更新する必要があるんですか?
毎回更新する必要が無いんでしたら、その application の初回起動時に設定 (office のような感じ) するように application 側で対処するのが一番よいと思いますが。

HKCU なら logon script で問題ないですよね。ACL で制限かかっていなければ。
_________________
tawa23
会議室デビュー日: 2007/05/12
投稿数: 4
投稿日時: 2007-05-12 02:41
ちゃっぴさん

早速のご返答有難うございます。

必要なレジストリキー自体は内容は固定です。
その為、固定プロファイルでなく、例えばローカルにプロファイルを持たせれば
そのレジストリキーに関しては一回追加すれば大丈夫です。(他に影響が出ますが)

すみません、ひょっとしたら他のドメイン環境では違うのかも知れないのですが、
私の環境では一般のユーザーアカウントではレジストリが追加出来ないように
制限が掛かっています。
その為、例えばスタートアップにレジストリを追加するBatなど入れても、
その権限では実行しても権限がなく、追加出来ません。
HKLMのレジストリキーなら例えばRunasでadmin権限でレジストリ入れたりは
出来るのですが。


これは必要な情報でしたね。。
申し訳ないです。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-05-12 10:38
引用:

tawa23さんの書き込み (2007-05-12 02:41) より:

必要なレジストリキー自体は内容は固定です。
その為、固定プロファイルでなく、例えばローカルにプロファイルを持たせれば
そのレジストリキーに関しては一回追加すれば大丈夫です。(他に影響が出ますが)



え〜と。やっぱり書いた方がよかったですね。
用語を正しく使ってください。

「固定プロファイル」
これが意味するのは、「移動プロファイル」の逆の意味で、user profile は local に置かれたものを常に使用するものです。

なので、
「ローカルにプロファイルを持たせれば」
この表現との対比が全く理解できません。

社内のみで通用する用語ではなく、Microsoft が定義した用語を使ってください。

引用:

すみません、ひょっとしたら他のドメイン環境では違うのかも知れないのですが、
私の環境では一般のユーザーアカウントではレジストリが追加出来ないように
制限が掛かっています。
その為、例えばスタートアップにレジストリを追加するBatなど入れても、
その権限では実行しても権限がなく、追加出来ません。
HKLMのレジストリキーなら例えばRunasでadmin権限でレジストリ入れたりは
出来るのですが。



HKCU であろうと現在の user が ACL によって書きこめない registry entry は default で存在します。
例えば、"HKCU\Software\Policies" とか。
上記の場合、group policy とかで使われるので、勝手に変更できないように設定されています。

で、変更を行おうとしているのは具体的にどの key ですか?
で、それを変更することによって何を行いたい、またはどのような data を格納したいのですか?

引用:

Runasでadmin権限でレジストリ入れたりは出来るのですが。


偽装して、別の資格情報で書き込むという方法はあるんですが、HKCU に対して行わなければならない理由は少ないはずです。その registry key に対して ACL を許可してやる方法も使えると思います。
_________________
tawa23
会議室デビュー日: 2007/05/12
投稿数: 4
投稿日時: 2007-05-12 23:04
ちゃっぴさん

ご返答有難うございます。
私の書き方で誤解を招いてしまったら申し訳ないです。

ご指摘頂きました固定プロファイル、というのは、
移動プロファイルの一種で、NTUSER.DATをNTUSER.MANに変えたものです。
移動プロファイルとの違いは、使用しているユーザーがログオフしても
変更した内容がサーバ上のプロファイルへ残らないことです。

参考:http://technet2.microsoft.com/WindowsServer/ja/library/3bd7900c-6145-461d-89f2-c12a8c6dd7301041.mspx?mfr=true


また、一例なのですが、ログオンする際に設定したいレジストリキーは
以下のキーなどです。
HKEY_CURRENT_USER\\Software\\Microsoft\\Multimedia\\Sound Mapper
これはWindowsの既定のサウンドデバイスの設定などを行った場合に生成される
キーのようで、このキー内で指定すれば再生や録音用のサウンドデバイスが
指定出来ました。



やり取りをさせて頂いていて、ひょっとすると私が勘違いしているかも、
と思ったのですが、
通常はローカルに対して管理者権限でなく、Usersの権限しか持っていなくても
〜〜.regというファイルのインポートなどは出来るものでしょうか。。

初歩的な内容ですみません。今度 当該の環境で試してみようと思います。

ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-05-17 00:37
おそくなりました。

引用:

tawa23さんの書き込み (2007-05-12 23:04) より:

ご指摘頂きました固定プロファイル、というのは、
移動プロファイルの一種で、NTUSER.DATをNTUSER.MANに変えたものです。
移動プロファイルとの違いは、使用しているユーザーがログオフしても
変更した内容がサーバ上のプロファイルへ残らないことです。

参考:http://technet2.microsoft.com/WindowsServer/ja/library/3bd7900c-6145-461d-89f2-c12a8c6dd7301041.mspx?mfr=true



そちらのほうですか。普段まったく利用しないので、忘却の彼方に逝ってしまってました。

引用:
HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper



上記の Key を確認しましたが、default で書き込めますね。

引用:

やり取りをさせて頂いていて、ひょっとすると私が勘違いしているかも、
と思ったのですが、
通常はローカルに対して管理者権限でなく、Usersの権限しか持っていなくても
〜〜.regというファイルのインポートなどは出来るものでしょうか。。



Registry にも ACL が存在します。
で、権限があるかを判断するのは、その thread が持っている access token と対象の ACL を突き合わせて判断しています。

一度 registry の ACL を確認してみてください。
_________________
tawa23
会議室デビュー日: 2007/05/12
投稿数: 4
投稿日時: 2007-05-19 00:29
ちゃっぴさん

再度のお返事有難うございます。

こちらの件、お蔭様で、おぼつかないながらも見よう見真似のVBSで、
先般記したレジストリキーを書き込むことで、私の思っていた結果を
得ることが出来ました。

やり取りをさせて頂いた中でのご指摘のとおり、HKCUはDomainUsersの権限でも
フルコントロールが付いて編集可能でした。
勘違いしていてお手数をお掛けしてしまいました。



グループポリシーでregedit.exeの実行を一般ユーザーアカウントでは
出来ないように設定されているのは認識していたのですが、
コマンドプロンプトのreg.exeも
その制限に引っかかるのかも知れません。。

reg import ○○.regといったbat実行しても効かなかった事から、
reg.exeはregedit.exeのサブセットというか、
一部regedit.exeの機能を使っているのかも知れないなぁ、と結果から思いました。
・・・ひょっとするとregファイルを扱っているからかも知れません。


ともあれ、無事解決いたしました。
これで少数のPC環境の為に
大本のプロファイルを更新しないで済みそうです。

ちゃっぴさん、まことに有難うございました。

ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-05-19 00:54
引用:

tawa23さんの書き込み (2007-05-19 00:29) より:

やり取りをさせて頂いた中でのご指摘のとおり、HKCUはDomainUsersの権限でも
フルコントロールが付いて編集可能でした。
勘違いしていてお手数をお掛けしてしまいました。



そういう原因の切り分けは Process Monitor を使ってやると正確に出てきます。

引用:

グループポリシーでregedit.exeの実行を一般ユーザーアカウントでは
出来ないように設定されているのは認識していたのですが、
コマンドプロンプトのreg.exeも
その制限に引っかかるのかも知れません。。

reg import ○○.regといったbat実行しても効かなかった事から、
reg.exeはregedit.exeのサブセットというか、
一部regedit.exeの機能を使っているのかも知れないなぁ、と結果から思いました。
・・・ひょっとするとregファイルを扱っているからかも知れません。



おそらく、group policy で「レジストリ編集ツールへアクセスできないようにする」が有効に構成されているんでしょう。

"regedit.exe" のみだけ制限をかけたい場合には、"regedit.exe" の ACL を編集するのが正しい設計です。
_________________
1

スキルアップ/キャリアアップ(JOB@IT)