Windows XP でドメインログオンするとメモ帳が起動する

提供:Samba-JP
2006年8月22日 (火) 01:38時点におけるRibbon (トーク | 投稿記録)による版 (新規追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動検索に移動
KB番号
最終更新日 2003/02/11
作成者 たかはしもとのぶ
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.2 系列
  • Samba 2.0 系列
  • Windows XP Professional
  • Windows 2000 VERSIONS

概要

Windows XP Professional や Windows 2000 から Samba で構築したドメインにログオンすると、メモ帳が起動します。メモ帳内には以下のような文字列が表示されています。

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21787

原因

これは、Samba の仕様上の制限になります。

上記は Desktop.ini という名称で「スタートアップ」フォルダ内に存在するファイルの内容になります。

通常このファイルはシステム属性と隠し属性が付与されています。しかし Samba のデフォルトでは、map hidden や map system パラメータが No となっているため、これらの属性は無視されます。

そのため、移動プロファイルが有効になっており、かつ移動プロファイルの保存先が Samba サーバ上になっている場合は、ファイルが通常のファイルとして扱われてしまい、「スタートアップ」フォルダ内に存在する場合は、自動起動の対象となってしまいます。

対処策

以下の方法により、この問題に対処することが可能です。

  1. map hidden や map system を有効にする
    これにより、Samba の共有上のファイルで隠し属性やシステム属性がサポートされるようになります。 なお、これらのパラメータは、各々UNIX上のファイルのパーミッションのworldの実行権、groupの実行権に対応しますので注意してください。
  2. hide files = /desktop.ini/ を設定する
    これにより、desktop.iniファイルが隠しファイルとなりますので、自動起動が無効になります。

ただし、すでにクライアント上でキャッシュされている Desktop.ini ファイルについては、上記属性が設定されていないため、手作業で Desktop.ini ファイルに対して

chmod +x Desktop.ini

などを発行して、隠し属性やシステム属性を設定した上で、

touch desktop.ini

などを発行して、ファイルの最終更新日を更新することにより、クライアント上のファイルが更新されるように設定する必要があります。

この技術情報は samba-jp:13947 からの一連のスレッドの議論を元に作成されています。