Kezelje a nyitott fájlokat egy Windows fájlkiszolgálón

A Windows fájlkiszolgáló rendszergazdáinak gyakran kényszeríteniük kell a felhasználókat a felhasználók által megnyitott fájlok bezárására. Ilyen probléma akkor merül fel, amikor több felhasználó egyszerre dolgozik egy fájllal. Gyakran előfordul, hogy ha a szoftver nem működik megfelelően, vagy ha a felhasználó helyesen fejezi be a munkamenetet, úgy tűnik, hogy a hálózati mappában lévő fájlok nyitottak és zároltak, és más felhasználók nem tudják módosítani azt. Ebben a cikkben bemutatjuk, hogyan állíthat be egy fájlkiszolgálón nyitott fájlok listáját, megtudhatja, mely felhasználók használják őket, és hogyan állíthatja vissza ezeket a fájlkezeléseket..

Tartalom:

  • Sorolja fel a nyitott fájlokat a Windows fájlkiszolgálón
  • Hogyan határozhatjuk meg, hogy mely felhasználó nyitotta meg a fájlt
  • Hogyan lehet bezárni egy nyitott fájlt
  • Hogyan távolítsa el a megnyitott fájlokat a PowerShell használatával

Sorolja fel a nyitott fájlokat a Windows fájlkiszolgálón

A felhasználók által a Windows fájlkiszolgálón megnyitott fájlok listáját a szokásos grafikus konzolon lehet beszerezni Számítógépes menedzsment (Számítógépes menedzsment - compmgmt.msc).

Indítsa el a Számítógép-kezelő konzolt a fájlkiszolgálón (vagy távolról csatlakozzon ehhez a konzolon a számítógépről), és ugorjon a szakaszra Rendszereszközök -> Megosztott mappák -> Nyisson meg fájlokat (Segédprogramok -> Megosztott mappák -> Fájlok megnyitása). Az ablak jobb oldalán megjelenik a távolról megnyitott szerverfájlok listája. A lista tartalmazza a fájlhoz vezető helyi elérési utat, a felhasználói fiók nevét, a zárolások számát és a fájl nyitási módját (Olvasás vagy Írás + Olvasás).

Ugyanaz a nyitott fájlok listája szerezhető be a beépített konzol segédprogrammal openfiles. Például a következő parancs segítségével beolvashatja a munkamenet azonosítóját, felhasználónevét és a teljes helyi elérési utat a megnyitott fájlhoz:

Nyitott fájlok / Lekérdezés / csv | több

Amikor egy felhasználó távolról elér egy mappát vagy fájlt a kiszolgáló hálózati mappájában (SMB), egy új munkamenet jön létre a felhasználó számára, amely meghatározza ezt a kapcsolatot. A felhasználói kapcsolatok ezen munkamenet-azonosítók segítségével kerülnek kezelésre..

Ugyanaz a parancs távolról is végrehajtható, például szüksége van egy nyitott fájlok listájára az mskfs01 fájlkiszolgálón:

Openfiles / Query / s mskfs01 / fo csv

Az Openfiles csapatnak még egy érdekes lehetősége van a helyben megnyitott fájlok listájának megtekintésére. Ennek használatához engedélyeznie kell az Objektumok listájának karbantartása lehetőséget a paranccsal openfiles / local on és indítsa újra a szervert. Ezt követően a helyi folyamatok által megnyitott fájlok bekerülnek a listába (ezt az üzemmódot csak hibakereséshez ajánlott használni, mivel ez negatív hatással lehet a szerver teljesítményére).

Hogyan határozhatjuk meg, hogy mely felhasználó nyitotta meg a fájlt

A felhasználó azonosítása, aki egy fájlt nyitott (lezárt) cons.adm futtassa a kiszolgálón a következő parancsot:

Openfiles / Query / s mskfs01 / fo csv | find / i "cons.adm"

kulcs / i a kis- és nagybetűkre érzékeny keresések végrehajtására használják

Természetesen a fájlnévnek csak egy részét adhatja meg. Például meg kell tudnunk, ki nyitotta meg az xlsx fájlt, amelynek a neve a vonalfarm, ezt a csővezetéket használjuk:

Openfiles / Query / s mskfs01 / fo csv | find / i "farm" | find / i "xlsx"

A fájlt természetesen megtalálhatja a Computer Management grafikus konzolján, de kevésbé kényelmes (a konzol nem nyújt keresési lehetőséget).

Hogyan lehet bezárni egy nyitott fájlt

Egy megnyitott fájl bezárásához meg kell találnia azt a Fájl megnyitása szakaszban lévő fájlok listájában, és válassza a "Zárja be a megnyitott fájlt".

Ha több száz nyitott fájl van a fájlkiszolgálón, akkor a konzolon nem könnyű megtalálni őket. Kényelmesebb a segédprogram használata openfiles. Mint már említettük, visszaadja a nyitott fájl munkamenet-azonosítóját. Ezzel a munkamenet-azonosítóval lehet a fájlt erőszakkal bezárni a kapcsolat visszaállításával. Keresse meg a kívánt fájl azonosítóját:

Openfiles / Query / s mskfs01 / fo csv | find / i "farm" | find / i ".xlsx"

A felhasználót az elválasztott azonosítóval választjuk el:

Openfiles / Disconnect / s mskfs01 / ID 67109098

Hogyan távolítsa el a megnyitott fájlokat a PowerShell használatával

A Windows Server 2012 / Windows 8 rendszerben a PowerShell bevezette a parancsmagokat gömbökkel és fájlokkal való SMB-kiszolgálón történő munkavégzés céljából. Ezek a parancsmagok felhasználhatók a kapcsolatok távoli visszaállítására egy nyitott fájlra..

A megnyitott fájlok listája a Get-parancsmagok segítségével szerezhető be.-SMBOpenFile , és zárja be a fájlt (állítsa vissza a kapcsolatot) a Close-SmbOpenFile.

Tehát csatlakozunk a távoli szerverhez:

$ sessn = Új-CIMSession -Számítógépnév mskfs01

Keresse meg és zárja be a nyitott pubs.docx fájlt egy paranccsal:

Get-SMBOpenFile -CIMSession $ sessn | ahol $ _. Út-szerű "* pubs.docx" | Close-SMBOpenFile -CIMSession $ sessn

A Y bezárásával erősítse meg a fájl bezárását.

A -Force kapcsolóval távolítsa el a fájl kényszerű bezárásának megerősítését a szerveren

Ugyanezek a parancsok használhatók például az összes fájl megnyitására, amelyet egy felhasználó nyitott meg (a felhasználó hazament, és nem engedte el a fájlokat). Például az ipivanov összes fájljának visszaállításához tegye

Get-SMBOpenFile -CIMSession $ sessn | ahol $ _. ClientUserName-szerű "* ipivanov *" | | Close-SMBOpenFile -CIMSession $ sessn