Je veux savoir qui verrouille un fichier sur un partage réseau.
Voici le problème: le partage réseau est sur un NAS, je ne peux donc pas me connecter. J'ai besoin d'un outil pour savoir à distance qui verrouille le fichier. Il n’est pas pratique de redémarrer le NAS à chaque fois, car il y a plusieurs utilisateurs.
Handle.exe , Process Explorer et PsFile semble être limité aux fichiers de la machine locale, ils ne fonctionnent donc pas pour moi.
Juste au cas où quelqu'un chercherait une solution à cela pour un système Windows ou un NAS:
Il existe une fonction intégrée à Windows qui vous indique quels fichiers de l'ordinateur local sont ouverts/verrouillés par un ordinateur distant (le fichier est ouvert via un partage de fichier):
Là, vous pouvez même fermer le fichier avec force.
Sur les serveurs Windows 2008 R2, vous disposez de deux moyens pour afficher les fichiers ouverts et fermer ces connexions.
Via Share and Storage Management
Gestionnaire de serveur> Rôles> Services de fichiers> Gestion du partage et du stockage> cliquez avec le bouton droit sur SaSM> Gérer le fichier ouvert
via OpenFiles
CMD> Openfiles.exe/query/s SERVERNAME
Voir http://technet.Microsoft.com/en-us/library/bb490961.aspx .
PsFile fonctionne sur des machines distantes. Si mon compte de connexion a déjà accès au partage distant, je peux simplement entrer:
psfile \\remote-share
(remplacez "remote-share" par le nom de votre serveur de fichiers) et il répertoriera tous les documents ouverts sur ce partage, ainsi que les personnes qui l'ont ouvert, ainsi que l'ID du fichier si je souhaite forcer la fermeture du fichier. Pour moi, c'est une très longue liste, mais elle peut être réduite en entrant une partie du chemin:
psfile \\remote-share I:\\Human_Resources
C'est un peu délicat, car dans mon cas, ce partage distant est monté en tant que Z: sur ma machine locale, mais psfile identifie les chemins tels qu'ils sont définis sur le serveur de fichiers distant, qui dans mon cas est I: (le vôtre sera différent) . Il me suffisait de passer en revue les résultats de ma première exécution du fichier psfile pour voir certains des chemins qu'il renvoyait, puis de l'exécuter à nouveau avec un chemin partiel pour affiner les résultats.
Si vous le souhaitez, PsFile vous permettra de spécifier les informations d'identification du partage distant si vous devez les fournir pour l'accès.
Enfin, un conseil peu connu: si quelqu'un clique sur un fichier dans l'explorateur Windows et le coupe ou le copie avec l'intention de le coller ailleurs, cet acte verrouille également le fichier.
S'il s'agit simplement de savoir/de voir qui se trouve dans un fichier à un moment donné (et si vous utilisez Windows), sélectionnez simplement le fichier "Affichage" en tant que "détails", c'est-à-dire plutôt que Miniatures, tuiles ou icônes, etc. dans la vue 'détails', par défaut, vous serez affiché; - Nom du fichier - Taille - Type et - Date de modification
Tout ce que vous avez à faire maintenant est de cliquer avec le bouton droit de la souris sur la barre d’outils (nom du fichier, taille, type, etc.) et vous obtiendrez une liste des autres options que la barre d’outils peut afficher.
Sélectionnez 'Propriétaire' et une nouvelle colonne affichera le nom d'utilisateur de la personne utilisant le fichier ou celui qui l'a créé à l'origine si personne d'autre ne l'utilise.
Cela peut être particulièrement utile lorsque vous utilisez une base de données partagée MS Access.
Réponse partielle: Avec Process Explorer, vous pouvez afficher les handles sur un partage réseau ouvert à partir de votre ordinateur.
Utilisez le menu "Find Handle" et vous pouvez alors taper un chemin comme celui-ci
\Device\LanmanRedirector\server\share\
Les sessions sont gérées par le périphérique NAS. Ce que vous demandez dépend du périphérique NAS et n'a rien à voir avec Windows. Vous devrez examiner votre microprogramme NAS pour savoir ce qu’il supporte. Le seul autre moyen est de renifler les paquets et de les résoudre vous-même.
on dirait que vous avez le même problème que j'ai essayé de résoudre ici . dans mon cas, c'est un serveur de fichiers Linux (avec samba, bien sûr), je peux donc me connecter et voir quel processus verrouille le fichier; malheureusement, je n'ai pas trouvé comment le fermer sans tuer la session responsable. AFAICT, le client Windows "pense" qu'il est fermé; mais n'a pas pris la peine de dire au serveur de fichiers.
Fermez le fichier e:\gestion\yourfile.dat
, ouvert par n'importe quel utilisateur (/a *
)
openfiles /disconnect /a * /op "e:\gestion\yourfile.dat"
plus dans: http://dosprompt.info/commands/openfiles.asp