Kelola file yang terbuka di server file Windows

Administrator server file Windows seringkali harus memaksa pengguna untuk menutup file yang dibuka oleh pengguna. Masalah seperti itu muncul ketika beberapa pengguna bekerja secara bersamaan dengan satu file. Seringkali, jika perangkat lunak tidak berfungsi dengan benar atau pengguna menyelesaikan sesi dengan benar, file-file dalam folder jaringan dibuka dan dikunci, dan pengguna lain tidak dapat mengubahnya. Pada artikel ini, kami akan menunjukkan cara mendapatkan daftar file terbuka di server file, mencari tahu pengguna mana yang menggunakannya, dan cara mengatur ulang sesi file ini..

Konten:

  • Daftar file yang terbuka di server file Windows
  • Cara menentukan pengguna mana yang membuka file
  • Cara menutup file yang terbuka
  • Cara menutup file dari jarak jauh menggunakan PowerShell

Daftar file yang terbuka di server file Windows

Daftar file yang dibuka oleh pengguna di server file Windows dapat diperoleh menggunakan konsol grafis standar Manajemen komputer (Manajemen Komputer - compmgmt.msc).

Luncurkan konsol Manajemen Komputer di server file (atau sambungkan ke konsol dari jarak jauh dari komputer Anda) dan buka bagian Alat sistem -> Folder bersama -> Buka file (Utilitas -> Folder Bersama -> File Terbuka). Sisi kanan jendela menampilkan daftar file server yang dibuka dari jarak jauh. Daftar ini berisi jalur lokal ke file, nama akun pengguna, jumlah kunci dan mode di mana file dibuka (Baca atau Tulis + Baca).

Daftar file terbuka yang sama dapat diperoleh dengan menggunakan utilitas konsol bawaan Openfiles. Misalnya, menggunakan perintah berikut, Anda bisa mendapatkan id sesi, nama pengguna, dan jalur lokal lengkap ke file terbuka:

Openfiles / Query / fo csv | lebih lanjut

Ketika pengguna mengakses folder atau file dari folder jaringan (SMB) dari jarak jauh pada server, sesi baru dibuat untuk pengguna yang mendefinisikan koneksi ini. Koneksi pengguna dikelola melalui pengidentifikasi sesi ini..

Perintah yang sama dapat dijalankan dari jarak jauh, misalnya, Anda memerlukan daftar file yang terbuka di server file mskfs01:

Openfiles / Query / s mskfs01 / fo csv

Tim Openfiles memiliki kesempatan menarik lain untuk melihat daftar file yang dibuka secara lokal. Untuk menggunakannya, Anda harus mengaktifkan opsi Maintain Objects List dengan perintah openfiles / lokal aktif dan restart server. Setelah itu, file yang dibuka oleh proses lokal akan mulai masuk ke dalam daftar (mode ini disarankan hanya digunakan untuk debugging, karena dapat berdampak negatif pada kinerja server).

Cara menentukan pengguna mana yang membuka file

Untuk mengidentifikasi pengguna yang membuka (mengunci) file cons.adm di server, jalankan perintah:

Openfiles / Query / s mskfs01 / fo csv | temukan / saya "cons.adm"

Kunci / i digunakan untuk melakukan pencarian case-insensitive

Secara alami, Anda hanya dapat menentukan sebagian dari nama file. Sebagai contoh, kita perlu mencari tahu siapa yang membuka file xlsx, nama yang merupakan baris pertanian, kita menggunakan pipa ini:

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

Anda tentu saja dapat menemukan file di konsol grafis Manajemen Komputer, tetapi kurang nyaman (konsol tidak menyediakan kemampuan pencarian).

Cara menutup file yang terbuka

Untuk menutup file yang terbuka, Anda harus menemukannya di daftar file di bagian Buka File dan pilih "Tutup file yang terbuka".

Jika ada ratusan file terbuka di server file, menemukannya di konsol tidak akan mudah. Lebih mudah menggunakan utilitas ini Openfiles. Seperti yang sudah kami katakan, ini mengembalikan ID sesi dari file yang terbuka. Untuk ID sesi ini file dapat ditutup secara paksa dengan mengatur ulang koneksi. Temukan ID dari file yang diinginkan:

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

Kami memutuskan koneksi pengguna dari pengidentifikasi yang diterima:

Openfiles / Disconnect / s mskfs01 / ID 67109098

Cara menutup file dari jarak jauh menggunakan PowerShell

Di Windows Server 2012 / Windows 8, PowerShell memperkenalkan cmdlet untuk bekerja dengan bola dan file di server SMB. Cmdlet ini dapat digunakan untuk mengatur ulang koneksi dari jarak jauh ke file yang terbuka..

Daftar file yang terbuka dapat diperoleh dengan menggunakan cmdlet Get.-SMBOpenFile , dan tutup file (atur ulang koneksi) dengan Close-SmbOpenFile.

Jadi, kami terhubung ke server jarak jauh:

$ sessn = Baru-CIMSession -Computername mskfs01

Temukan dan tutup file pubs.docx yang terbuka dengan satu perintah:

Dapatkan-SMBOpenFile -CIMSession $ sessn | di mana $ _. Path -like "* pubs.docx" | Tutup-SMBOpenFile -CIMSession $ sessn

Konfirmasikan penutupan file dengan menekan Y.

Untuk menghapus konfirmasi penutupan file secara paksa di server, gunakan tombol -Force

Perintah yang sama dapat digunakan, misalnya, untuk menutup semua file yang dibuka oleh beberapa pengguna (pengguna pulang dan tidak melepaskan file). Misalnya, untuk mengatur ulang semua sesi file untuk ipivanov, lakukan

Dapatkan-SMBOpenFile -CIMSession $ sessn | di mana $ _. ClientUserName -seperti "* ipivanov *" | Close-SMBOpenFile -CIMSession $ sessn