2012年3月15日木曜日

Terminal Server iniファイル制御

Terminal Serviceのサーバにログインした際、
%SystemRoot%配下のiniファイルが%HomePath%配下のWINDOWSディレクト配下にコピーされる。
または、%HomePath%\WINDOWSディレクトリ配下のiniファイルの拡張子がctxに変更される事がある。

①【現在TSにログインしているユーザーの最終同期時間】
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server
エントリ:LastUserIniSyncTime

②【TSのシステムディレクトリに登録されたiniファイルの時間】
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\IniFile Times配下の各エントリ

ユーザーがTSにログインした際に①と②を比較して、②の方が新しければTSの%HomePath%\Windows配下のiniファイルの拡張子がctxに変更される。

②の該当iniファイルのエントリを削除すると、%HomePath%\Windows配下のiniファイルに対する
処理が行われなくなる。


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\
Compatibility\IniFilesの下にiniファイルの名前(拡張子なし)でDWORDでエントリを作成し、
bitを設定する事によりiniファイルの書き換えを制御可能。


ユーザーのINIファイルをシステムバージョンと同期させる:0x40
ユーザーのWINDOWSディレクトリに置き換えない:0x80
?不明:0x44 (win.iniのデフォルトがこの値)

%HomePath%\Windows配下にiniファイルがない状態でbitを0x40にしてiniファイルを使用するアプリを起動すると、%SystemRoot%からiniファイルがコピーされて%HomePath%へ配置されてしまう。

0 件のコメント:

コメントを投稿