【问题标题】:How do I remotely obtain a system's network shares and connections?如何远程获取系统的网络共享和连接?
【发布时间】:2010-04-23 16:48:59
【问题描述】:

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

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

但是,我需要能够在系统上不运行第 3 方应用程序的情况下执行此操作。这有效地排除了使用 psexec 远程执行命令的可能性,因为 psexec 随后将作为服务安装。

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

我使用的是 Delphi 2010。

【问题讨论】:

    标签: windows delphi wmi


    【解决方案1】:

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

    MagWmi - http://www.magsys.co.uk/delphi/magwmi.asp(Delphi 2010 支持,免费提供源代码)

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

    GLibWMI - 在 Torry.net 上找到,主页不可用。 (Delphi 2010 支持和免费软件源)。不确定它是否能够远程访问。我没用过。

    希望对你有帮助

    【讨论】:

    【解决方案2】:

    我觉得和Logman一样。
    您可以使用 WMI 访问此信息。

    GLibWMI 组件可以在此网站 (http://neftali.clubdelphi.com) 或 sourceforge (http://sourceforge.net/projects/glibwmi/) 上找到。
    当前版本是 1.8b,并且有一个名为 SharedInfo 的组件,您可以通过该组件获取该信息。
    源代码可用,因此您可以根据需要扩展它以访问其他 WMI 类。

    问候。
    P.D:对不起,我的英语错误。

    【讨论】:

      【解决方案3】:

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

      我认为必须有一个用于“网络使用”的 api,但我从未使用过它(查看WNet functions)。另一种方法是使用 WshNetwork com 对象的EnumNetworkDrives 方法。

      至于 netstat,我认为不可能远程执行此操作(除了使用某种方法远程生成进程之外)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多