PsFileを使い倒せ! ~ファイルへのアクセス状況を確認する~
~IT管理者必携! 無償のツール集を徹底解説~「Windows Sysinternals」では、リモートから特定の操作を実行できるツールとして名前が「Ps」で始まるツール群が提供されている。「PsFile」は、ファイルへのアクセス状況の確認やアクセス制御を行うツールとして利用できる。今回は、PsFileによるファイルアクセスに関わるトラブルシューティング手法を紹介しよう。
[使い倒しテク]
不要なファイルを削除したいのですが、エラーが発生して削除することができません。どうしたらファイルを削除できるようになるのでしょうか?
PsFileを使って、プロセスからのファイルアクセスを強制的に切断することで、ファイルを削除できるようになります。
Windowsでファイルを削除しようとすると、「別のプログラムがこのファイルを開いているので、操作を完了できません」というエラーメッセージが表示されることがある(画面1)。

画面1:ファイルの削除に失敗したときに表示されるダイアログボックスの例
これは「排他制御」という機能を通じて、ほかのプロセスからファイルにアクセスできないように制限をかけているからだ。
Sysinternalsの「PsFile」では、現在アクセス状態にあるファイルのうち、リモートからアクセスされているファイルの一覧表示や、ファイルアクセスの強制終了(排他制御の解除)を行うことができる。
■PsFile
[URL]http://technet.microsoft.com/ja-jp/sysinternals/bb897552
PsFileはコマンドプロンプトから実行する。そのまま実行すると、リモートから現在開いているファイルの一覧が表示される(画面2)。

画面2:PsFileを実行した様子。このコンピュータにある3つのファイル/フォルダがリモートからアクセスされていることがわかる
PsFileを実行すると、現在開いているファイルの一覧とともに、ファイルを開いているユーザーの名前やアクセス状態(ReadやWriteなど)が同時に表示される。SharePoint Serverのように、だれが、どのファイルを開いたかを正確に把握し、その情報をいつでも参照できるシステムがあれば管理もしやすい。しかし、ファイルサーバ上にあるファイルの場合、どのユーザーがどのファイルを開いているか確認するのは難しい。このような場面で、Fileコマンドは役に立つだろう。ただし、画面2にもあるように、2バイト文字(日本語)を使うファイル名は表示が「??????」になってしまい、ファイル名を確認できないので注意してほしい。





.gif)






























