Comment puis-je obtenir à distance les partages et les connexions réseau d’un système?

Je cherche un moyen d’obtenir des informations similaires aux applications console suivantes, à distance:

  • utilisation nette
  • part nette
  • netstat -ano

Cependant, je dois pouvoir le faire sans exécuter une application tierce sur le système. Cela évite d’utiliser psexec pour exécuter la commande à distance, car psexec serait alors installé en tant que service.

Je dois append que j’ai des informations d’identification administratives sur le système distant. J’ai envisagé d’utiliser la capacité d’exécution à distance de WMI, mais cela nécessite que j’écrive la sortie dans un fichier et que je la récupère ensuite. C’est possible, mais je voudrais savoir si quelqu’un a une meilleure façon de faire.

J’utilise Delphi 2010.

Il existe deux composants Delphi WMI qui permettent un access à distance. Je n’ai pas utilisé personnellement les options à distance.

MagWmihttp://www.magsys.co.uk/delphi/magwmi.asp (Prise en charge de Delphi 2010 et gratuit avec source)

WMISet / NTSethttp://www.online-admin.com/ntset.html (TNTShare Gère les ressources partagées sur un ordinateur local et des hôtes distants. Grâce à ce composant, vous pouvez modifier la liste des périphériques partagés, voir les fichiers ouverts par utilisateurs distants, regardez et terminez les sessions distantes ouvertes sur l’ordinateur de destination, modifiez la liste des lecteurs réseau mappés.

GLibWMI – Trouvé sur Torry.net, page d’accueil non disponible. (Prise en charge de Delphi 2010 et Freeware avec source). Pas sûr s’il est capable d’access à distance. Je ne l’ai pas utilisé.

J’espère que cela t’aides

Je pense comme Logman .
Vous pouvez accéder à ces informations en utilisant WMI .

Les composants GLibWMI peuvent être trouvés sur ce site Web ( http://neftali.clubdelphi.com ) ou sourceforge ( http://sourceforge.net/projects/glibwmi/ ).
La version actuelle est la 1.8b et possède un composant appelé SharedInfo avec lequel vous pouvez obtenir cette information.
Le code source est disponible afin que vous puissiez l’étendre pour accéder à d’autres classes WMI si nécessaire.

Cordialement.
PD: Désolé pour mes erreurs avec l’anglais.

Vous pouvez énumérer des partages en utilisant la fonction NetShareEnum (les en-têtes sont dans le Jedi Apilib).

Je suppose qu’il doit y avoir un api pour le “net use” mais je ne l’ai jamais utilisé (vérifiez les fonctions de WNet ). Vous pouvez également utiliser la méthode EnumNetworkDrives de l’object com WshNetwork.

En ce qui concerne netstat, je ne pense pas qu’il soit possible de le faire à distance (autre que d’utiliser une sorte de méthode pour générer un processus à distance).