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
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
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"
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 szerverenUgyanezek 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