Tìm ra ai đang khóa một tệp trên mạng chia sẻ


141

Tôi muốn biết ai đang khóa một tệp trên mạng chia sẻ.

Đây là vấn đề: chia sẻ mạng là trên một NAS, vì vậy tôi không thể đăng nhập. Tôi cần một công cụ để tìm ra từ xa ai đang khóa tập tin. Việc khởi động lại NAS mỗi lần là không thực tế, vì có một vài người dùng.

Handle.exe , Process Explorer và PsFile dường như bị giới hạn ở các tệp trên máy cục bộ, vì vậy chúng không hoạt động với tôi.

Câu trả lời:


172

Chỉ trong trường hợp ai đó đang tìm giải pháp cho vấn đề này cho hệ thống dựa trên Windows hoặc NAS:

Có một chức năng tích hợp trong Windows cho bạn biết các tệp nào trên máy tính cục bộ được mở / khóa bởi máy tính từ xa (có tệp mở thông qua chia sẻ tệp):

  • Chọn "Quản lý máy tính" (Mở "Quản lý máy tính")
  • nhấp vào "Thư mục được chia sẻ"
  • chọn "Mở tệp"

Ở đó bạn thậm chí có thể đóng các tập tin mạnh mẽ.


10
Bạn thậm chí có thể sử dụng Hành động -> Kết nối với máy tính khác với tệp trên NAS và thậm chí nó còn hoạt động với NAT dựa trên linux của chúng tôi! Tại sao tôi không thử điều này sớm hơn?
olorin

20
Trên Windows 2008 R2, đi tới Trình quản lý máy chủ> Vai trò> Dịch vụ tệp> Quản lý chia sẻ và lưu trữ> nhấp chuột phải vào SaSM> Quản lý tệp đang mở.
Jason Pearce

Chỉ cần mở bảng điều khiển MMC và thêm Snap-in Shared Folders. Bạn có thể kết nối với các hệ thống từ xa.
nizx

2
Đối với một chia sẻ tên miền, điều này đã không làm việc. Các từ ngữ dường như ngụ ý các tập tin nằm trên chia sẻ mạng của bạn.
kevinf

1
Tôi đã sử dụng một ứng dụng có tên Unlocker để làm điều này (tệp nằm trên NAS). Ứng dụng có tại đây: filehippo.com/doad_unlocker/tech và nó hoạt động với tôi nhưng tôi không thể bảo đảm cho ứng dụng này
Dan

58

Trên máy chủ Windows 2008 R2, bạn có hai phương tiện để xem tệp nào đang mở và đóng các kết nối đó.

Qua chia sẻ và quản lý lưu trữ

Trình quản lý máy chủ> Vai trò> Dịch vụ tệp> Quản lý lưu trữ và chia sẻ> nhấp chuột phải vào SaSM> Quản lý tệp mở

Qua OpenFiles

CMD> Openfiles.exe / truy vấn / s SERVERNAME

Xem http://technet.microsoft.com/en-us/l Library / bb490961.aspx .


2
Câu trả lời chính xác. Tôi không biết về Openfiles; nó hoạt động tốt hơn nhiều so với việc phải sử dụng psexec hoặc các công cụ từ xa tương tự.
twasbrillig

@twasbrillig ok nhưng nếu là NAS, và không dựa trên windows! C: \> Openfiles.exe / query / s 10.0.0.1 <ENTER> ERROR: Hệ thống Target phải chạy Windows XP trở lên.
barlop

Điều đáng chú ý là các nút "Vai trò" vv mở rộng với độ trễ.
SerG

Cảm ơn vì điều này, openfiles.exe cũng hoạt động trên Windows Server 2012 R2. Tôi không thể tìm thấy bất kỳ hướng dẫn tốt nào khác về cách liệt kê các tệp đang mở từ máy chủ 2012, nhưng điều này đã tạo ra mánh khóe.
Oldskool

Lệnh CMD đẹp, cảm ơn vì đã chia sẻ! Windows 10 Enterprise đi kèm với Openfiles.exe ngay bên ngoài.
Leo Gurdian

25

PsFile không hoạt động trên các máy từ xa. Nếu tài khoản đăng nhập của tôi đã có quyền truy cập vào chia sẻ từ xa, tôi chỉ cần nhập:

psfile \\remote-share

(thay thế "chia sẻ từ xa" bằng tên của máy chủ tệp của bạn) và nó sẽ liệt kê mọi tài liệu đã mở trên chia sẻ đó, cùng với ai đã mở và ID tệp nếu tôi muốn đóng tệp. Đối với tôi, đây là một danh sách thực sự dài, nhưng nó có thể được thu hẹp bằng cách nhập một phần của một đường dẫn:

psfile \\remote-share I:\\Human_Resources

Điều này thật khó khăn, vì trong trường hợp của tôi, chia sẻ từ xa này được gắn kết là Z: trên máy cục bộ của tôi, nhưng psfile xác định các đường dẫn như được xác định trên máy chủ tệp từ xa, trong trường hợp của tôi là I: (của bạn sẽ khác) . Tôi chỉ cần lướt qua các kết quả của lần chạy psfile đầu tiên của mình để xem một số đường dẫn mà nó trả về và sau đó chạy lại với một đường dẫn một phần để thu hẹp kết quả.

Tùy chọn, PsFile sẽ cho phép bạn chỉ định thông tin đăng nhập cho chia sẻ từ xa nếu bạn cần cung cấp chúng để truy cập.

Cuối cùng, một mẹo ít được biết đến: nếu ai đó nhấp vào tệp trong Windows Explorer và cắt hoặc sao chép tệp với mục đích dán tệp vào nơi khác, thì hành động đó cũng đặt khóa trên tệp.


Có phải là gấp đôi?
PsychoData

@PologistsoData, đã được một lúc kể từ khi tôi đăng bài này. Tôi hy vọng những gì tôi đăng là chính xác. \ Trước phần chia sẻ từ xa có vẻ đúng, nhưng \ trong I: \\ Human_Resource trông có vẻ lạ. Tuy nhiên, tôi nghĩ rằng tôi đã có một lý do cho nó khi tôi đăng. Hãy thử nó và cho tôi biết.
Baodad

14

Nếu nó chỉ đơn giản là trường hợp biết / nhìn thấy ai đang ở trong một tệp tại bất kỳ thời điểm cụ thể nào (và nếu bạn đang sử dụng windows), chỉ cần chọn tệp 'xem' là 'chi tiết', chứ không phải là hình thu nhỏ, ô hoặc biểu tượng, v.v. trong chế độ xem 'chi tiết', theo mặc định, bạn sẽ được hiển thị; - Tên tệp - Kích thước - Loại và - Ngày sửa đổi

Tất cả những gì bạn cần làm bây giờ là nhấp chuột phải vào bất cứ nơi nào dọc theo thanh công cụ đã nói (tên tệp, kích thước, loại, v.v.) và bạn sẽ được cung cấp một danh sách các tùy chọn khác mà thanh công cụ có thể hiển thị.

Chọn 'Chủ sở hữu' và một cột mới sẽ hiển thị tên người dùng của người sử dụng tệp hoặc người ban đầu đã tạo nó nếu không có ai khác sử dụng nó.

Điều này có thể đặc biệt hữu ích khi sử dụng cơ sở dữ liệu MS Access được chia sẻ.


4
Trong trường hợp của tôi đã không làm việc. Tôi thêm cột và tôi thấy mình là người tạo tệp chia sẻ trong tài nguyên từ xa, nhưng đã bị khóa bởi một đồng nghiệp.
David Oliván Ubieto

5
Điều này thực sự chỉ hoạt động tốt khi chương trình mà họ tham gia tạo ra một lockfile (như MS Access) sẽ thuộc sở hữu của bất kỳ ai đang sử dụng nó chứ không phải là người tạo ban đầu của tệp
PsychoData

1
Để lưu thêm cột, bạn có thể xem thông tin tương tự nếu bạn xem thuộc tính tệp và xem tab Chi tiết.
Malvineous

Điều này hoạt động thực sự tốt cho những thứ như các tập tin MS Word.
Tridus

5

Các phiên được xử lý bởi thiết bị NAS. Những gì bạn đang yêu cầu phụ thuộc vào thiết bị NAS và không có gì để làm với windows. Bạn sẽ phải xem phần sụn NAS của bạn để xem nó hỗ trợ gì. Cách duy nhất khác là đánh hơi các gói và tự giải quyết nó.


Vâng đây là một câu trả lời tốt với lẽ thường. Đáng buồn là NAS này không cung cấp chức năng này.
olorin

5

Câu trả lời một phần: Với Process Explorer, bạn có thể xem các thẻ điều khiển trên chia sẻ mạng được mở từ máy của bạn .

Sử dụng Menu "Tìm tay cầm" và sau đó bạn có thể nhập một đường dẫn như thế này

\Device\LanmanRedirector\server\share\

2

Có vẻ như bạn có cùng một vấn đề tôi đã cố gắng giải quyết ở đây . trong trường hợp của tôi, đó là một máy chủ tệp Linux (tất nhiên là chạy samba), vì vậy tôi có thể đăng nhập và xem quá trình nào đang khóa tệp; Thật không may, tôi đã không tìm thấy cách đóng nó mà không giết phiên có trách nhiệm. AFAICT, máy khách windows 'nghĩ' nó đã đóng; nhưng không buồn nói với máy chủ.


Âm thanh có khả năng: theo như tôi biết NAS của chúng tôi đã sử dụng một bản phân phối linux tùy chỉnh.
olorin

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.