Upravljanje otvorenim datotekama na Windows datotečnom poslužitelju

Administratori Windows datoteka datoteka često moraju prisiljavati korisnike da zatvore datoteke koje su otvorili korisnici. Takav problem nastaje kada nekoliko korisnika istovremeno radi s jednom datotekom. Često, ako softver ne radi ispravno ili korisnik ispravno dovrši sesiju, datoteke u mrežnoj mapi izgledaju kao da su otvorene i zaključane, a drugi korisnici ne mogu u nju izvršiti promjene. U ovom ćemo članku pokazati kako dobiti popis otvorenih datoteka na datotečnom poslužitelju, saznati koji korisnici ih koriste i kako resetirati te sesije datoteka..

sadržaj:

  • Popis otvorenih datoteka na Windows datotečnom poslužitelju
  • Kako odrediti koji je korisnik otvorio datoteku
  • Kako zatvoriti otvorenu datoteku
  • Kako na daljinu zatvoriti otvorene datoteke pomoću PowerShell-a

Popis otvorenih datoteka na Windows datotečnom poslužitelju

Popis datoteka koje su korisnici otvorili na Windows datotečnom poslužitelju može se dobiti pomoću standardne grafičke konzole Upravljanje računalom (Upravljanje računalom - compmgmt.msc).

Pokrenite konzolu Computer Management na datotečnom poslužitelju (ili je na daljinu povežite pomoću konzole s računalom) i idite na odjeljak Alat za sustav -> Dijeljene mape -> Otvori datoteke (Uslužni programi -> Zajedničke mape -> Datoteke otvorene). Na desnoj strani prozora prikazan je popis datoteka na daljinskom otvaranju. Popis sadrži lokalni put do datoteke, naziv korisničkog računa, broj zaključavanja i način na koji je datoteka otvorena (Read or Write + Read).

Isti popis otvorenih datoteka može se dobiti pomoću ugrađenog uslužnog programa konzole Openfiles. Na primjer, pomoću sljedeće naredbe možete dobiti id sesije, korisničko ime i puni lokalni put do otvorene datoteke:

Openfiles / Upit / za csv | more

Kad korisnik na daljinu pristupa mapi ili datoteci u mrežnoj mapi (SMB) na poslužitelju, kreira se nova sesija za korisnika koji definira ovu vezu. Korisničkim vezama upravlja se putem ovih identifikatora sesije..

Ista naredba može se izvršiti na daljinu, na primjer, trebate popis otvorenih datoteka na datotečnom poslužitelju mskfs01:

Openfiles / Upit / s mskfs01 / fo csv

Tim Openfilesa ima još jednu zanimljivu priliku za pregled popisa otvorenih datoteka. Da biste ga koristili, morate omogućiti opciju Održavanje popisa objekata pomoću naredbe openfiles / lokalni na i ponovno pokrenite poslužitelj. Nakon toga, datoteke otvorene lokalnim procesima počet će dolaziti na popis (ovaj se način preporučuje koristiti samo za uklanjanje pogrešaka, jer može negativno utjecati na performanse poslužitelja).

Kako odrediti koji je korisnik otvorio datoteku

Da biste identificirali korisnika koji je otvorio (zaključao) datoteku cons.adm na poslužitelju pokrenite naredbu:

Openfiles / Upit / s mskfs01 / fo csv | pronađi / i "cons.adm"

ključ / i koristi za obavljanje pretraživanja neosjetljivih na velika i mala slova

Prirodno, možete odrediti samo dio imena datoteke. Na primjer, moramo saznati tko je otvorio xlsx datoteku, čije je ime farma linija, koristimo ovaj cjevovod:

Openfiles / Upit / s mskfs01 / fo csv | pronađi / i "farma" | pronađi / i "xlsx"

Datoteku možete, naravno, pronaći u grafičkoj konzoli Computer Management, ali to je manje zgodno (konzola ne pruža mogućnost pretraživanja).

Kako zatvoriti otvorenu datoteku

Da biste zatvorili otvorenu datoteku, morate je pronaći na popisu datoteka u odjeljku Otvori datoteku i odaberite "Zatvori otvorenu datoteku".

Ako na poslužitelju datoteka postoji stotine otvorenih datoteka, njihovo pronalaženje u konzoli neće biti lako. Pogodnije je koristiti uslužni program Openfiles. Kao što smo već rekli, vraća ID sesije otvorene datoteke. Upravo se za ovaj ID sesije datoteka može prisilno zatvoriti vraćanjem veze. Pronađite ID željene datoteke:

Openfiles / Upit / s mskfs01 / fo csv | pronađi / i "farma" | pronađi / i ".xlsx"

Isključujemo korisnika od njega prema primljenom identifikatoru:

Openfiles / Disconnect / s mskfs01 / ID 67109098

Kako na daljinu zatvoriti otvorene datoteke pomoću PowerShell-a

U sustavu Windows Server 2012 / Windows 8, PowerShell predstavio cmdlete za rad s kuglicama i datotekama na SMB poslužitelju. Ovi cmdleti se mogu koristiti za daljinsko resetiranje veza s otvorenom datotekom..

Popis otvorenih datoteka može se dobiti pomoću Get cmdleta.-SMBOpenFile , i zatvorite datoteku (resetirajte vezu) sa Close-SmbOpenFile.

Dakle, spajamo se na udaljeni poslužitelj:

$ sessn = Novo-CIMSession -Kompjutersko ime mskfs01

Pronađite i zatvorite otvorenu datoteku pubs.docx s jednom naredbom:

Get-SMBOpenFile -CIMSession $ sessn | gdje je $ _. Path "* pubs.docx" | Zatvori-SMBOpenFile -CIMSession $ sessn

Potvrdite zatvaranje datoteke pritiskom na Y.

Da biste uklonili potvrdu prisilnog zatvaranja datoteke na poslužitelju, koristite prekidač -Force

Na primjer, iste naredbe mogu se koristiti za zatvaranje svih datoteka koje je otvorio neki korisnik (korisnik je otišao kući i nije ih pustio). Na primjer, za resetiranje svih sesija datoteka za ipivanov, učinite

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