Rechercher des utilisateurs connectés à un partage réseau

18

Sur mon serveur Windows 2008, j'ai un partage réseau. Je suis connecté au serveur avec tous les droits d'administrateur. Je voudrais savoir quels utilisateurs ont des connexions actives à ce partage.

Comment puis-je trouver ces informations?

Mark Arnott
la source

Réponses:

24

Il y a deux façons de procéder que je sais si. L'un n'est pas fiable, mais probablement assez bon pour la plupart des scénarios. L'une est étendue, mais difficile à mettre en œuvre à une échelle qui dépasse une poignée de connexions utilisateur.

La méthode Kinda-Sorta: Sélectionnez Outils système >> Dossiers partagés >> Ouvrir des fichiers pour voir quels fichiers sont ouverts sur le serveur de fichiers. De là, vous pouvez corréler les comptes d'utilisateurs qui ont des fichiers ouverts avec les partages auxquels ils sont connectés.

Mais cela peut être insuffisant. Tu ne me crois pas? Allez dans Gestion de l'ordinateur et sélectionnez Outils système >> Dossiers partagés >> Sessions pour voir qui est connecté. Regardez ensuite la # open filescolonne. Certaines sessions doivent avoir 0 fichier ouvert. Comment savez-vous à quel partage ils sont techniquement connectés? Je suis content que tu aies demandé ...

La méthode étendue mais difficile à mettre à l'échelle: effectuez net share [sharename]sur chaque partage en question pour obtenir une liste des utilisateurs qui y sont connectés. Lors de mes tests, même les utilisateurs qui n'ont pas de fichier ouvert sont répertoriés.

Vous pouvez également utiliser l'outil d'administration de Share and Storage Manager dans Server 2008 et versions ultérieures au lieu de Gestion de l'ordinateur. Recherchez le partage dans la liste des partages, puis dans le volet Actions à droite, cliquez sur "Gérer les sessions". Vous verrez une liste de sessions, y compris celles qui n'ont aucun fichier ouvert.

Mais ... mais ... Je veux trouver un utilisateur spécifique sans interroger chaque partage! Si vous avez un utilisateur spécifique que vous souhaitez rechercher, il semble que votre seul moyen de trouver ces informations est d'interroger chaque partage et de le regarder pour trouver l'utilisateur que vous souhaitez. Et par globe oculaire, je veux dire sortie de tuyauterie vers findstrou select-string. On pourrait extrapoler le flux de travail à un script qui énumère tous les partages disponibles, interroge les utilisateurs connectés et recherche la sortie de l'utilisateur en question, mais cela semble être un exercice pour le lecteur et non quelque chose que Microsoft a inclus en tant que fonctionnalité native .

Wesley
la source
Les informations fournies ne sont pas suffisantes dans les sessions ou les partages. Il ne montre pas spécifiquement quels utilisateurs sont connectés à quel partage. Je vois souvent plusieurs connexions à un partage réseau, mais si un utilisateur n'a pas de fichier ouvert, je ne peux pas dire qui est connecté. Je peux seulement dire qu'il y a un certain nombre de connexions ouvertes. Pas qui a ouvert la connexion. Rick a donc tout à fait raison dans ce cas.
Je vois la situation spécifique qui pourrait exister, où un utilisateur a une session ouverte, mais pas de fichier ouvert, donc vous n'êtes pas sûr du partage spécifique auquel une session fantomatique est ouverte. Dans ce scénario, je ne sais pas comment lier des sessions de 0 fichier au partage auquel elles sont connectées.
Wesley
Ou, à partir d'une ligne de commande: NET SHARE <SHARENAME>
Simon Catlin
@SimonCatlin Je viens de tester cela sur une machine Server 2008. J'avais un utilisateur sans fichier ouvert mais j'étais répertorié comme une session ouverte. J'ai dû interroger chacun des partages sur le serveur avec net share sharenamemais j'ai finalement trouvé le partage auquel la session était connectée. Je ne sais pas si l'on peut inverser la requête et commencer par l'utilisateur qui vous intéresse, puis le suivre jusqu'au partage auquel il est connecté. Pourrait avoir besoin d'un PowerShelling personnalisé.
Wesley
4

C'est une très vieille question, mais la réponse acceptée a sauté l'une des meilleures façons de trouver les informations. L'interface graphique peut montrer qu'il y a des "clients connectés" mais pas afficher ces connexions sous "fichiers ouverts". Dans ce cas, il faut utiliser WMI pour trouver qui est connecté à un partage.

Voici la commande powershell pour voir qui est connecté à un partage spécifique et un exemple de sortie:

Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}

Exemple de sortie:

ShareName        UserName        ComputerName
---------        --------        ------------
SHARENAME        user1           10.0.0.20
SHARENAME        user2           10.0.0.30
SHARENAME        user3           10.0.0.40
Brady Witbeck
la source
Félicitations, j'ai eu deux partages avec des noms différents sur le même chemin local et c'était la seule chose qui m'a permis de restreindre les utilisateurs et les PC en utilisant l'un des deux partages dont je voulais me débarrasser :)
gregg
0

Computer Manager n'est pas accessible de la même manière que dans les versions précédentes. Vous obtenez le "Gestionnaire de serveur" lorsque vous cliquez avec le bouton droit sur Ordinateur et sélectionnez "gérer". Donc, au lieu de cela, tapez simplement compmgmt.msc dans le champ "programmes et fichiers de recherche" sous démarrer.

Client
la source
-3

Je ne pense pas que la ou les réponses fournies répondent réellement à la question. Si vous utilisez Windows Server 2008 (PAS R2) et que vous cliquez avec le bouton droit sur Ordinateur et sélectionnez Gérer, puis confirmez le message UAC, la console MMC du Gestionnaire de serveur démarre. Sous le Gestionnaire de serveur se trouvent les éléments suivants: rôles, fonctionnalités, diagnostics, configuration et stockage. Aucun de ces cinq éléments ne semble avoir de connexions de noms de partage disponibles en option, ce que demandait la question d'origine. L'ajout d'EDIT à la réponse était plus utile, mentionnant le gestionnaire de partage et de stockage, mais ne semble toujours pas fournir la réponse. Il fournit une liste complète des noms de partage et des propriétés, mais les connexions actives n'apparaissent pas ici non plus. Avec Windows Server 2003, il existait auparavant un utilitaire de système d'exploitation qui affichait les serveurs, les partages et les connexions, mais je ne l'ai pas encore trouvé sur WS2008. Il y avait un utilitaire tiers que j'utilisais auparavant, appelé Hyena d'Adkins Resource, qui, je crois, est toujours commercialisé, qui a fait un excellent travail d'affichage de toutes sortes d'informations sur pratiquement tous les aspects de l'état d'un serveur.

Rick Ferris
la source
2
Vous avez tout simplement tort. Je viens de lancer une VM 2008 R2. Lorsque vous ouvrez Computer Management (compmgmt.msc)et que tout ce que Wesley décrit est là, exactement comme 2003, y compris les fichiers ouverts et les sessions actives. Voir cette capture d'écran si vous ne me croyez pas.
MDMarra
@Rick Tu as raison, ma réponse n'était pas complètement correcte. Deux ans plus tard, et sous l'impulsion d'un autre membre qui m'a appelé, j'ai refait ma réponse pour bien faire les choses. Merci de m'avoir aidé. =)
Wesley