openfiles

Wyświetla lub rozłącza pliki i foldery otwarte zdalnie przez użytkowników sieci.

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.