Spravujte otevřené soubory na souborovém serveru Windows

Správci souborového serveru Windows musí často nutit uživatele, aby zavírali soubory otevřené uživateli. Takový problém vzniká, když několik uživatelů pracuje současně s jedním souborem. Pokud software nefunguje správně nebo uživatel relaci dokončí správně, soubory v síťové složce se zdají být otevřené a zamčené a ostatní uživatelé v ní nemohou provádět změny. V tomto článku si ukážeme, jak získat seznam otevřených souborů na souborovém serveru, zjistit, kteří uživatelé je používají, a jak tyto relace souborů resetovat..

Obsah:

  • Seznam otevřených souborů na souborovém serveru Windows
  • Jak zjistit, který uživatel soubor otevřel
  • Jak zavřít otevřený soubor
  • Jak vzdáleně zavřít otevřené soubory pomocí PowerShell

Seznam otevřených souborů na souborovém serveru Windows

Seznam souborů otevřených uživateli na souborovém serveru Windows lze získat pomocí standardní grafické konzoly Správa počítače (Správa počítače - compmgmt.msc).

Spusťte konzolu Správa počítače na souborovém serveru (nebo se k ní připojte vzdáleně pomocí konzoly z počítače) a přejděte do části Systémové nástroje -> Sdílené složky -> Otevřít soubory (Nástroje -> Sdílené složky -> Otevřené soubory). Na pravé straně okna se zobrazí seznam serverových souborů otevřených vzdáleně. Seznam obsahuje lokální cestu k souboru, název uživatelského účtu, počet zámků a režim, ve kterém je soubor otevřen (čtení nebo zápis + čtení).

Stejný seznam otevřených souborů lze získat pomocí vestavěného obslužného programu konzoly Openfiles. Například pomocí následujícího příkazu získáte ID relace, uživatelské jméno a úplnou místní cestu k otevřenému souboru:

Openfiles / Query / fo csv | more

Když uživatel vzdáleně přistupuje ke složce nebo souboru v síťové složce (SMB) na serveru, vytvoří se nová relace pro uživatele, který toto připojení definuje. Uživatelská připojení jsou spravována prostřednictvím těchto identifikátorů relací..

Stejný příkaz lze provést na dálku, například potřebujete seznam otevřených souborů na souborovém serveru mskfs01:

Openfiles / Query / s mskfs01 / fo csv

Tým Openfiles má další zajímavou příležitost k zobrazení seznamu místně otevřených souborů. Chcete-li ji použít, musíte pomocí příkazu povolit možnost Údržba seznamu objektů openfiles / local on a restartujte server. Poté se do seznamu začnou dostávat soubory otevřené místními procesy (tento režim je vhodné použít pouze pro ladění, protože to může negativně ovlivnit výkon serveru).

Jak zjistit, který uživatel soubor otevřel

Identifikace uživatele, který soubor otevřel (zamkl) cons.adm na serveru spusťte příkaz:

Openfiles / Query / s mskfs01 / fo csv | najít / i "cons.adm"

Klíč / i používá se k vyhledávání bez rozlišování velkých a malých písmen

Přirozeně můžete zadat pouze část názvu souboru. Například musíme zjistit, kdo otevřel soubor xlsx, jehož název je řádková farma, použijeme tento plynovod:

Openfiles / Query / s mskfs01 / fo csv | najít / i "farma" najít / i "xlsx"

Soubor můžete samozřejmě najít v grafické konzole pro správu počítače, ale je to méně pohodlné (konzole neposkytuje možnost vyhledávání).

Jak zavřít otevřený soubor

Chcete-li otevřít otevřený soubor, musíte jej najít v seznamu souborů v části Otevřít soubor a vybrat možnost „Zavřete otevřený soubor".

Pokud jsou na souborovém serveru stovky otevřených souborů, nebude jejich nalezení v konzole snadné. Je vhodnější použít nástroj Openfiles. Jak jsme již řekli, vrací ID relace otevřeného souboru. Je to pro toto ID relace, že soubor může být násilně uzavřen resetováním připojení. Vyhledejte ID požadovaného souboru:

Openfiles / Query / s mskfs01 / fo csv | najít / i "farma" najít / i ".xlsx"

Odpojujeme uživatele od přijatého identifikátoru:

Openfiles / Disconnect / s mskfs01 / ID 67109098

Jak vzdáleně zavřít otevřené soubory pomocí PowerShell

Ve Windows Server 2012 / Windows 8 představil PowerShell rutiny cmdlet pro práci s míčky a soubory na SMB serveru. Tyto rutiny cmdlet lze použít k dálkovému obnovení připojení k otevřenému souboru..

Seznam otevřených souborů lze získat pomocí Get cmdlets.-SMBOpenFile , a zavřete soubor (resetujte připojení) pomocí Close-SmbOpenFile.

Připojujeme se tedy ke vzdálenému serveru:

$ sessn = Nový-CIMS relace - Název mskfs01

Najděte a zavřete otevřený soubor pubs.docx jedním příkazem:

Get-SMBOpenFile -CIMSession $ sessn | kde $ _. Path-like "* pubs.docx" | Zavřít-SMBOpenFile -CIMSession $ sessn

Potvrďte uzavření souboru stisknutím Y.

Chcete-li odebrat potvrzení nuceného uzavření souboru na serveru, použijte přepínač -Force

Stejné příkazy lze použít například k uzavření všech souborů otevřených některým uživatelem (uživatel šel domů a soubory neuvedl). Chcete-li například obnovit všechny relace souborů pro ipivanov, proveďte

Get-SMBOpenFile -CIMSession $ sessn | kde $ _. ClientUserName-like "* ipivanov *" | Close-SMBOpenFile -CIMSession $ sessn