Comment afficher et fermer les fichiers ouverts dans le partage Windows

Cette entrée fait partie d'une série de sur 19 dans la série Les partages réseaux sur Windows pour transférer des données sur un réseau local LAN

Lorsque l'on utilise les partages réseaux de Windows, il arrive que certains fichiers se verrouillent.
Impossible alors de modifier le fichier par le réseau.
Il faut alors afficher et trouver les fichiers ouverts par le réseau pour les fermer.
On peut faire cela de différentes manières, en graphique ou en Powershell ou invite de commandes.

Dans ce tutoriel, je vous montre comment afficher et fermer les fichiers ouverts dans le partage Windows.

Comment afficher et fermer les fichiers ouverts dans le partage Windows

Comment afficher et fermer les fichiers ouverts dans le partage Windows

Pour rappel, ce tutoriel vous guide pour lister les partages réseaux d'un PC :

Depuis la gestion de l'ordinateur

Afficher et fermer les fichiers ouverts dans le partage Windows avec la gestion de l'ordinateur
  • Faites un clic droit puis fermer le fichier ouvert
Afficher et fermer les fichiers ouverts dans le partage Windows avec la gestion de l'ordinateur

Utiliser la gestion de l'ordinateur de Windows10/su_lien]

En PowerShell

Powershell propose le cmdlet Get-SmbOpenFile pour afficher les fichiers ouverts à distance par le réseau.

Afficher et fermer les fichiers ouverts dans le partage Windows en PowerShell
Get-SmbOpenFile | Where-Object {$_.Path -Like "*.xls*"}
  • Enfin pour fermer un fichier réseau ouvert, utilisez Close-SmbOpenFile. Par exemple pour fermer le fichier Anneee2020.xlsx ouvert par le réseau :
Get-SmbOpenFile | where {$_.Path –like "*Anneee2020.xlsx"} | Close-SmbOpenFile -Force

Comment fermer les fichiers ouverts sur un ordinateur distant à l'aide de PowerShell ?

Pour fermer les fichiers d'un PC distant :

  • Définissez le nom de l'ordinateur, par exemple MonPC-001 :
$sessn = New-CIMSession –Computername MonPC-001
  • Puis pour fermer le fichier document.docx
Get-SMBOpenFile -CIMSession $sessn | where {$_.Path –like "*document.docx"} | Close-SMBOpenFile -CIMSession $sessn

Avec PowerShell, vous pouvez fermer les sessions SMB et déverrouiller tous les fichiers qu'un utilisateur spécifique a ouverts (un utilisateur est rentré chez lui et n'a pas publié les fichiers ouverts).
Par exemple, pour réinitialiser toutes les sessions de fichiers de l'utilisateur Mak, exécutez cette commande :

Get-SMBOpenFile -CIMSession $sessn | where {$_.ClientUserName –like "*mak*"}|Close-SMBOpenFile -CIMSession $sessn

Avec openfiles en invite de commandes

Du côté de l'invite de commandes, on trouve la commande CMD openfiles.
Elle permet aussi de lister les fichiers ouverts à distance.

  • Ouvrez une invite de commandes
  • Puis saisissez openfiles
  • Vous obtenez un tableau avec la liste des accès réseau par utilisateur et le fichier ouvert avec le chemin
Afficher et fermer les fichiers ouverts dans le partage Windows avec openfiles
  • On peut aussi effectuer un export de la liste au format CSV grâce à l'option /fo
openfiles /Query /fo csv
Afficher et fermer les fichiers ouverts dans le partage Windows avec openfiles
  • Pour effectuer une recherche sur un nom de fichier, on filtre avec la commande find /i
openfiles /Query /s NomPC /fo csv | find /i "Document.docx"
  • Pour fermer un fichier réseau distant, on utilise l'option /disconnect en spécifiant l'identifiant
openfiles /Disconnect /ID 46
  • Enfin openfiles fonctionne aussi pour afficher ou fermer des fichiers réseaux distant. Pour cela, on utilise l'option /s avec le nom de l'ordinateur. Par exemple pour lister les fichiers réseaux ouvert sur PC-001 :
openfiles /Query /s PC-001 /fo csv
Naviguer dans les séries -