ネットワーク共有上のファイルをロックしているユーザーを確認する


141

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

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

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

回答:


172

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

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

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

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


10
アクション->別のコンピューターに接続してNAS上のファイルに接続することもでき、LinuxベースのNATでも動作します!なぜこれを早く試さなかったのですか?
オロリン

20
Windows 2008 R2では、サーバーマネージャー>役割>ファイルサービス>共有とストレージの管理> SaSMを右クリック>開いているファイルの管理に移動します。
Jason Pearce

MMCコンソールを開き、共有フォルダースナップインを追加するだけです。リモートシステムに接続できます。
nizx 2016

2
ドメイン共有の場合、これは機能しませんでした。この文言は、ネットワーク共有にあるファイルを意味するようです。
kevinf 2016年

1
これを行うには、Unlockerというアプリケーションを使用しました(ファイルはNASにありました)。アプリはこちら:filehippo.com/download_unlocker/techで動作しましたが、このアプリを保証できません
Dan

58

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

共有およびストレージ管理を介して

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

OpenFiles経由

CMD> Openfiles.exe / query / sサーバー名

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


2
すばらしい答えです。Openfilesについては知りませんでした。これは、psexecまたは同様のリモート処理ツールを使用する必要があるよりもはるかにうまく機能します。
twasbrillig 2013

@twasbrilligは大丈夫ですが、それがNASであり、Windowsベースではない場合!C:\> Openfiles.exe / query / s 10.0.0.1 <ENTER>エラー:ターゲットシステムでWindows XP以降が実行されている必要があります。
barlop 2014年

ノード「役割」などが遅延に伴って拡張することに注意してください。
SerG 2014

このおかげで、openfiles.exeはWindows Server 2012 R2でも動作します。2012サーバーから開いているファイルを一覧表示する方法に関する他の良いガイドは見つかりませんでしたが、これでうまくいきました。
Oldskool 2015年

素敵なCMDコマンド、共有してくれてありがとう!Windows 10 Enterpriseには、Openfiles.exeが付属しています。
レオグルディアン、2016

25

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

psfile \\remote-share

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

psfile \\remote-share I:\\Human_Resources

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

オプションで、PsFileを使用して、リモート共有の資格情報を指定して、アクセスに提供する必要があります。

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


ダブル\ sがあるはずですか?
PsychoData 2014年

@PsychoData、これを投稿してからしばらく経ちました。投稿した内容が正しいことを願っています。リモート共有部分の前の\\は正しく見えますが、I:\\ Human_Resourcesの\\は奇妙に見えます。それでも、投稿したときは理由があったと思います。それを試して、私に知らせてください。
Baodad 2014年

14

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

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

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

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


4
私の場合、うまくいきませんでした。列を追加しましたが、自分はリモートリソースの共有ファイルの作成者であるように見えますが、同僚によって既にロックされています。
DavidOlivánUbieto 2013

5
これが実際に機能するのは、そのプログラムが
ロック

1
列の追加を保存するには、ファイルのプロパティを表示して[詳細]タブを表示すると、同じ情報が表示されます。
Malvineous

これは、MS Wordファイルなどの場合に非常にうまく機能します。
Tridus

5

セッションはNASデバイスによって処理されます。あなたが求めていることはNASデバイスに依存しており、ウィンドウとは何の関係もありません。NASファームウェアが何をサポートしているかを確認する必要があります。他の唯一の方法は、パケットをスニッフィングして自分で解決することです。


まあこれは常識で良い答えです。残念ながら、このNASはこの機能を提供していません。
オロリン2009

5

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

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

\Device\LanmanRedirector\server\share\

2

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


おそらく音:私の知る限り、NASはカスタムLinuxディストリビューションを使用しました。
オロリン2009

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.