複数のユーザがログオンするWindows Server 2008 R2のサーバがあります。 ログオン時は各ユーザは別のファイルサーバに格納している移動プロファイルで ログオンする仕組みになっているのですが、頻繁にユーザが一時プロファイルで ログオンしてしまう事象が発生しています。 原因としては、以下の公開情報に記載されている通り、サーバ上のレジストリ (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList)に 「.bak」が付くサブキーが残ってしまうためだと判明しております。 レジストリに「.bak」のサブキーが残ってしまったアカウントでログオンすると、 一時プロファイルでログオンしてしまうようです。 ■公開情報:Windows Vista ベースのシステムにログオンした後、一時プロファイルが読み込まれる http://support.microsoft.com/kb/947242/ja 現在は、手動で定期的に「.bak」のサブキーを削除することで回避しているのですが、 頻繁に発生しており対象サーバの台数も多いことから、タスクスケジュール等で 自動的に削除する仕組みにしたいと考えております。 ※レジストリの操作は危険を伴うことは理解しておりますので、自動化する場合は テスト機で動作確認の上、実装する予定です。 Windows Server 2008 R2で標準搭載されているPowerShell 2.0であれば HKEY_LOCAL_MACHINEのレジストリの操作が可能であることを知り、 Remove-Item -Path HKLM:でワイルドカードを使用して「.bak」が付くものを削除する… というようなイメージで考えているのですが、PowerShellを扱った経験が無いため、 もし同じようなスクリプトを書いたことがある方がいらっしゃるようでしたら アドバイスを頂きたいと考えております。(サンプルなどがあると大変助かります) ※Microsoft社に確認したところ、ProfileList配下にはローカルプロファイル以外のサブキーは 存在しないのが正常であるため、「.bak」が付くサブキーも含めてローカルプロファイルではない サブキーは全て削除して良いとのことでした。 ただ、そのような条件分岐は難しそうなので、最低限「.bak」のサブキーだけは 自動で削除できるようにしたいと考えております。 お手数お掛けしますが、よろしくお願い致します。
↧