2009-09-19 10 views
3

J'essaie de surveiller les connexions à un partage Windows en utilisant C#, je suis à peu près sûr que c'est possible puisque vous pouvez voir les personnes connectées à vous à partir du Gestionnaire de console de Windows.Moniteur Windows Partager

Bien que cela ne me dérange pas une solution utilisant WMI je préférerais une autre méthode. Ce que je veux dire par les connexions est quand quelqu'un ouvre un partage sur le PC surveillé ou un fichier dans un partage.

+0

Appartient sur défaut du serveur. – Richard

+0

Pas vraiment, im écrit une application Windows qui doit faire cela, je sais comment le faire en utilisant les compteurs du système normal etc, mais ce n'est pas ce que je veux – RC1140

Répondre

0

Les classes WMI et les compteurs de performance existent pour les partages. Avec WMI, vous pouvez voir quelles sessions sont ouvertes par partage, en utilisant les associations WMI. Ce code est PowerShell pour une seule action (« Docs$ »):

$p = (Get-WmiObject -Class Win32_Share -Filter 'Name="Docs$"').__PATH 
Get-WmiObject -Query "Associators of {$p} WHERE ResultClass=Win32_ServerConnection" | Format-Table -auto ShareName, UserName,ComputerName,NumberOfFiles 
+0

Une chance sur un code expliquant comment c'est fait? – RC1140

+0

http://msdn.microsoft.com/fr-fr/library/aa394435%28VS.85%29.aspx – D3vtr0n

1

Je suggère d'utiliser WMI, car il est conçu dans ce but.

Voici un lien MSDN sur les actions Win32 & de mise en œuvre WMI:

Win32_Share Class - MSDN

Questions connexes