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.
Table des matières
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
- Ouvrez la gestion de l’ordinateur
- Puis déroulez dossier partagés > Fichiers ouverts
- A droite la liste des fichiers ouverts sur vos partages réseaux s’affiche avec le chemin, l’utilisateur Windows
- Faites un clic droit puis fermer le fichier ouvert
En PowerShell
Powershell propose le cmdlet Get-SmbOpenFile pour afficher les fichiers ouverts à distance par le réseau.
- Ouvrez Powershell en administrateur
- Puis saisissez Get-SmbOpenFile
- La liste des fichiers ouverts avec un identifiant et chemin s’affiche
- Pour faire une recherche et filtrer sur une extension de fichiers :
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
- On peut aussi effectuer un export de la liste au format CSV grâce à l’option /fo
openfiles /Query /fo csv
- 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
Liens
- Le protocole SMB (Server Message Block) : fonctionnement et versions
- NetBIOS dans Windows (NetBT)
- Kerberos VS NT LAN Manager (NTLM)
- Comment activer/désactiver NetBIOS dans Windows 10/11
- Activer ou désactiver SMB sur Windows
- Comment partager ses fichiers et dossier en réseau entre deux PC sur Windows 10
- Accéder aux fichiers Windows depuis Ubuntu
- Sauvegarder des fichiers vers un ordinateur du réseau
- Partager la connexion internet sur Windows 10
- Les autorisations NTFS (ACL) sur les fichiers et partage réseau de Windows
- Résoudre les problèmes et erreurs de partages de fichiers sur Windows
- Partage réseau et groupe résidentiel
- Résoudre les problèmes et erreurs de partages de fichiers sur Windows
- Comment utiliser smbclient avec des exemples
- Monter un partage Windows sous Linux avec Samba