Ağ paylaşımındaki bir dosyayı kimin kilitlediğini öğrenme


141

Ağ paylaşımındaki bir dosyayı kimin kilitlediğini bilmek istiyorum.

Sorun şu: ağ paylaşımı bir NAS'ta, bu yüzden oturum açamıyorum. Uzaktan dosyayı kimin kilitlediğini bulmak için bir araca ihtiyacım var. NAS'ı her seferinde yeniden başlatmak pratik değildir, çünkü birkaç kullanıcı vardır.

Handle.exe , Process Explorer ve PsFile , yerel makinedeki dosyalarla sınırlı görünüyor, bu yüzden benim için çalışmıyorlar.

Yanıtlar:


172

Birisinin Windows tabanlı bir sistem veya NAS için buna bir çözüm araması durumunda:

Windows'ta, yerel bilgisayardaki hangi dosyaların uzak bilgisayar tarafından açıldığını / kilitlendiğini (dosyayı bir dosya paylaşımı yoluyla açık olan) gösteren yerleşik bir işlev vardır:

  • "Bilgisayarı Yönet" i seçin ("Bilgisayar Yönetimi" ni açın)
  • "Paylaşılan Klasörler" i tıklayın
  • "Dosyaları Aç" ı seçin

Orada dosyayı zorla kapatabilirsiniz.


10
Action -> NAS üzerindeki dosyaya başka bir bilgisayara bağlanın ve hatta linux tabanlı NAT'ımızla bile çalışır! Bunu neden daha önce denemedim?
olorin

20
Windows 2008 R2'de Sunucu Yöneticisi> Roller> Dosya Hizmetleri> Paylaşım ve Depolama Yönetimi'ne gidin> SaSM> Açık Dosyaları Yönet'e sağ tıklayın.
Jason Pearce

Bir MMC konsolu açın ve bir Paylaşılan Klasörler Ek Bileşeni ekleyin. Uzak sistemlere bağlanabilirsiniz.
nizx

2
Bir etki alanı paylaşımı için bu işe yaramadı. İfadeler, ağ paylaşımlarınızda bulunan dosyaları ima ediyor gibi görünüyor.
kevinf

1
Bunu yapmak için Unlocker adlı bir uygulama kullandım (dosya NAS'daydı). Uygulama burada: filehippo.com/download_unlocker/tech ve benim için çalıştı ama bu uygulama için kefil olamaz
Dan

58

Windows 2008 R2 sunucularında, hangi dosyaların açık olduğunu görmek ve bu bağlantıları kapatmak için iki yolunuz vardır.

Paylaşım ve Depolama Yönetimi ile

Sunucu Yöneticisi> Roller> Dosya Hizmetleri> Paylaşım ve Depolama Yönetimi> SaSM'ye sağ tıklayın> Açık Dosyayı Yönet

OpenFiles ile

CMD> Openfiles.exe / query / s SUNUCUSU

Bkz. Http://technet.microsoft.com/en-us/library/bb490961.aspx .


2
Mükemmel cevap. Openfiles'ı bilmiyordum; psexec veya benzeri uzaktan kumanda araçlarını kullanmaktan çok daha iyi çalışır.
twasbrillig

@twasbrillig Tamam ama bir NAS ve windows tabanlı değilse! C: \> Openfiles.exe / query / s 10.0.0.1 <ENTER> HATASI: Hedef sistem Windows XP veya üstünü çalıştırıyor olmalıdır.
barlop

Düğümlerin "Roller" vb. Gecikmeli olarak genişlediğini fark etmekte fayda var.
SerG

Bunun için teşekkürler, openfiles.exe Windows Server 2012 R2 üzerinde de çalışır. 2012 sunucusundan açık dosyaları listeleme konusunda başka iyi kılavuzlar bulamadım, ancak bu hile yaptı.
Oldskool

Güzel CMD komutu, paylaştığınız için teşekkürler! Windows 10 Enterprise, OpenFiles.exe ile birlikte gelir.
Leo Gurdian

25

PsFile uzak makinelerde çalışır. Giriş hesabımın uzaktan paylaşıma zaten erişimi varsa, şunu girebilirim:

psfile \\remote-share

("uzak paylaşım" ı dosya sunucunuzun adıyla değiştirin) ve bu paylaşımdaki açık olan her belgeyi, kimin açık olduğunu ve dosyayı kapatmaya zorlamak istersem dosya kimliğini listeler. Benim için bu çok uzun bir liste, ancak bir yolun bir parçası girilerek daraltılabilir:

psfile \\remote-share I:\\Human_Resources

Bu biraz zor, çünkü benim durumumda bu uzak paylaşım yerel makineme Z: . Geri döndüğüm bazı yolları görmek için ilk psfile çalıştırmamın sonuçlarını taramak ve ardından sonuçları daraltmak için kısmi bir yolla tekrar çalıştırmak zorunda kaldım.

İsteğe bağlı olarak, erişim için sağlamanız gerekiyorsa PsFile uzak paylaşım için kimlik bilgilerini belirtmenize izin verir.

Son olarak, az bilinen bir ipucu: Birisi Windows Gezgini'nde bir dosyayı tıklar ve dosyayı başka bir yere yapıştırmak amacıyla keser veya kopyalarsa, bu da dosyaya bir kilit yerleştirir.


double \ s olması gerekiyor mu?
Mart'ta PsychoData

@PsychoData, bunu gönderdiğimden beri bir süre oldu. Umarım gönderdiklerim doğrudur. Uzak paylaşım bölümünden \\ doğru görünüyor, ancak I: \\ Human_Resources içindeki \\ garip görünüyor. Yine de, yayınladığımda bunun için bir nedenim olduğunu düşünüyorum. Deneyin ve bana bildirin.
Baodad

14

Bir dosyada kimin belirli bir zamanda olduğunu bilmek / görmek durumundaysa (ve pencereleri kullanıyorsanız) sadece 'görünüm' dosyasını 'ayrıntılar' olarak seçin, yani Küçük Resimler, kutucuklar veya simgeler vb. 'ayrıntılar' görünümünde varsayılan olarak gösterilirsiniz; - Dosya adı - Boyut - Tür ve - Değiştirme tarihi

Şimdi tek yapmanız gereken, söz konusu araç çubuğunda (dosya adı, boyut, tür vb.) Herhangi bir yere sağ tıklamaktır ve araç çubuğunun görüntüleyebileceği diğer seçeneklerin bir listesi verilecektir.

'Sahip' seçeneğini belirlediğinizde yeni bir sütun, dosyayı kullanan veya başka kimse kullanmadığı takdirde orijinal olarak oluşturan kişinin kullanıcı adını gösterir.

Bu, paylaşılan bir MS Access veritabanı kullanılırken özellikle yararlı olabilir.


4
Benim durumumda işe yaramadı. Sütunu ekledim ve kendimi uzak kaynaktaki paylaşılan dosyanın yaratıcısı olarak görüyorum, ancak zaten bir iş arkadaşı tarafından kilitlendi.
David Oliván Ubieto

5
Bu gerçekten sadece içinde bulundukları program, dosyayı kullanan herkesin sahip olacağı bir kilit dosyası (MS Access gibi) oluşturduğunda iyi çalışır ve dosyanın orijinal yaratıcısı değil
PsychoData

1
Sütun eklemeyi kaydetmek için, dosya özelliklerini görüntüleyip Ayrıntılar sekmesine bakarsanız aynı bilgileri görebilirsiniz.
Malvineous

Bu, MS Word dosyaları gibi şeyler için gerçekten iyi çalışır.
Tridus

5

Oturumlar NAS cihazı tarafından gerçekleştirilir. Sorduğunuz şey NAS cihazına bağlıdır ve pencerelerle ilgisi yoktur. Neleri desteklediğini görmek için NAS ürün yazılımınıza bir göz atmanız gerekir. Diğer tek yol paketleri koklamak ve kendiniz halletmektir.


Bu sağduyu ile iyi bir cevap. Ne yazık ki bu NAS bu işlevi sunmuyor.
olorin

5

Kısmi yanıt: Process Explorer ile, makinenizden açılan bir ağ paylaşımındaki tanıtıcıları görüntüleyebilirsiniz .

"Tanıtıcı Bul" Menüsünü kullanın ve ardından böyle bir yol yazabilirsiniz

\Device\LanmanRedirector\server\share\

2

burada çözmeye çalıştığım aynı sorun var gibi geliyor . benim durumumda, bir Linux dosya sunucusu (çalışan samba, tabii ki), bu yüzden giriş yapabilir ve dosyayı hangi işlemin kilitlediğini görebilirsiniz; ne yazık ki, sorumlu oturumu öldürmeden nasıl kapatılacağını bulamadım. AFAICT, windows istemcisi kapalı olduğunu düşünüyor; ancak dosya sunucusunu anlatmaya zahmet etmedi.


Muhtemelen geliyor: NAS'ımızın bildiğim kadarıyla özel bir linux dağıtımı kullandı.
olorin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.