Am un dosar \server\share\myApp\app.exe
că o mână de oameni fug direct din cotă. Trebuie să actualizez acel fișier ocazional, dar de obicei este blocat din cauza sesiunilor SMB deschise.
Procedura mea normală pentru fișierele similare blocate SMB este să închid fișierele și sesiunile de blocare ca:
$openAppFiles = Get-SmbOpenFile | Unde Cale - cum ar fi „D:\Shares\myApp\*”
$appSessions = $openAppFiles | Selectați SessionID -Unique
Close-SmbOpenFile -FileID $openAppFiles.FileID -Force
Close-SmbSession -SessionID $appSessions.SessionID -Force
Extras-Arhivă $newZip -Destinație „D:\Shares\myApp\” -Force
Dar în ultimul timp, am întâmpinat probleme în care un client poate să se reconecteze și să blocheze unul sau mai multe dintre fișierele pe care le actualizez în acea fereastră mică. Pot testa încercând să redenumesc un fișier, de exemplu:
Redenumiți-element .\app.exe .\app.exe.bak
[Eroare] Redenumiți-Item: Procesul nu poate accesa fișierul deoarece este utilizat de un alt proces.
Există vreo modalitate de a bloca temporar accesul clienților la aceste fișiere?
M-am gândit să dezactivez temporar distribuirea, dar ar trebui să o fac după program. De asemenea, pot să-l repet până când funcționează, dar nici asta nu rezolvă neapărat problema. Ce alte opțiuni pot încerca?