web-dev-qa-db-ja.com

ネットワーク共有上のファイルをロックしているユーザーを見つける

ネットワーク共有上のファイルをロックしているユーザーを知りたい。

問題は次のとおりです。ネットワーク共有がNAS上にあるため、ログオンできません。ファイルをロックしているユーザーをリモートで見つけるツールが必要です。複数のユーザーがいるため、毎回NASを再起動することは実用的ではありません。

Handle.exe 、Process Explorerおよび PsFile はローカルマシン上のファイルに制限されているようで、私には機能しません。

126
olorin

WindowsベースのシステムまたはNASでこれに対する解決策を探している人のために:

Windowsには、ローカルコンピューター上のどのファイルがリモートコンピューターによって開いている/ロックされているかを示すビルトイン関数があります(ファイル共有を介してファイルを開いています)。

  • 「コンピューターの管理」を選択します(「コンピューターの管理」を開きます)
  • 「共有フォルダ」をクリックします
  • 「ファイルを開く」を選択します

そこで、ファイルを強制的に閉じることもできます。

162
Dirk Paessler

Windows 2008 R2サーバーでは、開いているファイルとそれらの接続を閉じるファイルを表示する2つの方法があります。

Via Share and Storage Management

サーバーマネージャー>役割>ファイルサービス>共有と記憶域の管理> SaSMを右クリック>開いているファイルの管理

Via OpenFiles

CMD> Openfiles.exe/query/s SERVERNAME

http://technet.Microsoft.com/en-us/library/bb490961.aspx を参照してください。

53
Jason Pearce

PsFile はリモートマシンで動作します。ログインアカウントが既にリモート共有にアクセスできる場合は、次のように入力できます。

psfile \\remote-share

(「remote-share」をファイルサーバーの名前に置き換えます)、その共有で開かれているすべてのドキュメントと、誰が開いているか、ファイルを強制的に閉じたい場合はファイルIDがリストされます。私にとって、これは本当に長いリストですが、パスの一部を入力することで絞り込むことができます:

psfile \\remote-share I:\\Human_Resources

私の場合、このリモート共有はローカルマシン上でZ:としてマウントされますが、psfileはリモートファイルサーバーで定義されているパスを識別します。これは、私の場合はI:(あなたの場合は異なります) 。最初に実行したpsfileの結果を調べて、返されたパスの一部を確認し、部分パスで再度実行して結果を絞り込みました。

必要に応じて、PsFileでは、アクセスのために資格情報を提供する必要がある場合に、リモート共有の資格情報を指定できます。

最後に、少し知られているヒント:誰かがWindowsエクスプローラーでファイルをクリックし、別の場所に貼り付ける目的でファイルをカットまたはコピーすると、その行為はファイルにロックをかけます。

21
Baodad

特定の時間に誰がファイル内にいるのかを知る/見るだけの場合(そして、ウィンドウを使用している場合)、ファイル 'view'をサムネイル、タイル、アイコンなどではなく、 'details'として選択します。 「詳細」ビューでは、デフォルトで表示されます。 -ファイル名-サイズ-タイプ、および-変更日

ここで必要なのは、ツールバーのどこか(ファイル名、サイズ、タイプなど)を右クリックするだけです。ツールバーに表示できる他のオプションのリストが表示されます。

[所有者]を選択すると、ファイルを使用している人のユーザー名、または誰も使用していない場合は最初に作成したユーザーのユーザー名が新しい列に表示されます。

これは、共有MS Accessデータベースを使用する場合に特に役立ちます。

12
Jones

部分的な回答:Process Explorerを使用すると、ネットワーク共有のハンドルを表示できますマシンから開いた

メニューの「ハンドルの検索」を使用すると、次のようなパスを入力できます

\Device\LanmanRedirector\server\share\
5
olorin

セッションはNASデバイスによって処理されます。質問内容はNASデバイスに依存し、Windowsとは関係ありません。 NASファームウェアを調べて、サポート対象を確認する必要があります。他の唯一の方法は、パケットをスニッフィングして自分で解決することです。

4
asdf

あなたが私が解決しようとした同じ問題を抱えているように聞こえます ここ 。私の場合、これはLinuxファイルサーバー(もちろんsambaを実行している)なので、ログインして、どのプロセスがファイルをロックしているかを確認できます。残念ながら、私は責任のあるセッションを殺さずにそれを閉じる方法を見つけていません。 AFAICT、Windowsクライアントは閉じていると「考えている」。しかし、ファイルサーバーに気にすることはありませんでした。

2
Javier

ファイルe:\ gestion\yourfile.datを閉じ、任意のユーザーが開きます(/ a *)

openfiles/disconnect/a */op "e:\ gestion\yourfile.dat"

詳細: http://dosprompt.info/commands/openfiles.asp

1
R.Alonso