openfiles to wbudowane narzędzie wiersza poleceń Windows, które pokazuje, kto przez sieć trzyma otwarte pliki i foldery na Twoim serwerze plików — i pozwala te uchwyty zerwać. Klasyczny scenariusz: ktoś zostawił otwarty dokument na udziale sieciowym, plik jest zablokowany, a Ty nie możesz go przenieść ani usunąć. Zamiast biegać po biurze i pytać „kto to otworzył?”, odpalasz openfiles i rozłączasz delikwenta zdalnie. Uruchamiasz to z konsoli z uprawnieniami administratora.
Składnia i najważniejsze opcje
Podstawowa forma: openfiles /query [opcje] oraz openfiles /disconnect [opcje].
/query— wyświetla listę aktualnie otwartych plików (ID, użytkownik, ścieżka)./disconnect— zrywa otwarte uchwyty plików według podanego kryterium./s Komputer— wskazuje zdalny komputer zamiast lokalnego./u Domena\Użytkownik /p Hasło— kontekst, w którym ma działać polecenie (przydatne przy/s)./fo {TABLE|LIST|CSV}— format wyjścia; domyślnie TABLE, CSV świetne do dalszej obróbki./nh— pomija nagłówki kolumn (tylko dla TABLE i CSV)./id N— rozłącza po ID pliku; akceptuje*(wszystkie)./a Użytkownik— rozłącza wszystko otwarte przez danego użytkownika (też*)./o {Read|Write|Read/Write}— rozłącza według trybu dostępu.
Przykłady użycia
openfiles /query /v— szczegółowa lista wszystkich otwartych plików lokalnie, z pełnymi danymi.openfiles /query /fo csv /nh > otwarte.csv— zrzuca listę do pliku CSV bez nagłówków, gotowe do analizy w arkuszu.openfiles /query /s SERWER01 /u FIRMA\admin— sprawdza otwarte pliki na zdalnym serwerze SERWER01.openfiles /disconnect /id 35— zrywa konkretny uchwyt o ID 35 (ID podejrzysz w/query).openfiles /disconnect /a janek— rozłącza wszystkie pliki otwarte przez użytkownika janek.
Częste błędy i pułapki
Największa niespodzianka: domyślnie openfiles /query pokazuje wyłącznie pliki otwarte przez sieć, a nie te otwarte lokalnie na maszynie. Żeby śledzić również lokalne uchwyty, musisz włączyć flagę globalną poleceniem openfiles /local on i zrestartować system — zmiana wchodzi dopiero po reboocie i ma narzut na wydajność, więc nie zostawiaj jej włączonej bez powodu.
Drugi haczyk: /disconnect zrywa połączenie bez zapisu — użytkownik traci niezapisane zmiany dokładnie tak, jakby ktoś wyrwał kabel. Najpierw /query, potem dopiero zrywanie. I pamiętaj, że to narzędzie administracyjne — bez podniesionych uprawnień dostaniesz odmowę dostępu.
Powiązane komendy: net file (prostsze zarządzanie otwartymi plikami sieciowymi), net session (sesje użytkowników), net share (lista udziałów) oraz tasklist i handle z Sysinternals, gdy szukasz, który proces blokuje plik lokalnie.