如何远程获取系统的networking共享和连接?

我正在寻找一种方法来远程获取类似于以下控制台应用程序的信息:

  • 净使用
  • 净份额
  • netstat -ano

但是,我需要能够做到这一点,而无需在系统上运行第三方应用程序。 这有效地排除了使用psexec远程执行命令,因为psexec将作为服务安装。

我应该补充说,我有远程系统上的pipe理凭据。 我已经考虑过使用WMI的远程执行能力,但这需要我将输出写入文件,然后检索它。 这是可能的,但我想知道是否有人有更好的办法。

我正在使用delphi2010年。

Solutions Collecting From Web of "如何远程获取系统的networking共享和连接?"

有几个Delphi WMI组件允许远程访问。 我个人虽然没有使用远程选项。

MagWmihttp://www.magsys.co.uk/delphi/magwmi.asp(Delphi 2010支持,并免费提供源码)

WMISet / NTSethttp://www.online-admin.com/ntset.html(TNTShare)管理本地计算机和远程主机上的共享资源。使用此组件可以更改共享设备列表,查看已经打开的文件远程用户,观察和终止对目标计算机打开的远程会话,更改映射网络驱动器的列表,这不是免费的。

GLibWMI – 在Torry.net找到,主页不可用。 (德尔福2010年的支持和免费源代码)。 不知道它是否能够远程访问。 我没有用过

希望这可以帮助

我想和Logman一样 。
您可以使用WMI访问这些信息。

GLibWMI组件可以在这个网站上找到( http://neftali.clubdelphi.com )或者sourceforge( http://sourceforge.net/projects/glibwmi/ )。
目前的版本是1.8b ,并有一个名为SharedInfo的组件,您可以获取该信息。
源代码是可用的,所以你可以扩展它来访问其他的WMI类,如果有必要的话。

问候。
PD:对不起我的英文错误。

您可以使用NetShareEnum函数枚举共享(标题在Jedi Apilib中)。

我假设必须有一个“净使用”API,但我从来没有使用过(检查WNet功能 )。 另一种方法是使用WshNetwork com对象的EnumNetworkDrives方法。

至于netstat,我不认为有可能做到这一点远程(除了使用某种方法来远程产生一个进程)。