1

我正在尝试开发一个基于 Windows 的桌面软件,我想在其中列出位于同一网络内远程 PC 上的所有可访问分区/目录/文件夹/文件。我已经成功编程为如何通过列表 [Dropdown/Combobox as we know] 中的 IP/名称检索远程 PC。接下来,一旦我选择了特定的远程 PC,我需要检索该远程 PC 上的分区/目录/文件夹/文件,并将它们显示在网格视图或自定义 WPF 控件上。

注意:我直接通过 IP/名称直接获取可通过同一网络访问的 PC 列表,我还想知道是否可以获得每台 PC 的元信息,因为它在哪个操作系统上运行 [即 Microsoft Windows 8 Pro 或 Mac OSX 10 或 Ubuntu 13.04 Server] 以及什么架构 [即 x64 或 x86]。

注意:远程 PC 可以运行来自任何供应商的任何操作系统,例如 Microsoft、Apple、Linux。

注意:虽然可能无法从 MacOSX 或基于 Linux 的计算机(共享文件夹除外)获取所有分区/目录/文件夹/文件的列表,但我想知道如何获取共享文件夹/文件的列表基于 MacOSX 或 Linux 的 PC。

4

1 回答 1

1

这个SO question 建议如何枚举远程共享。这适用于 Windows 计算机,并且应该适用于具有 Samba 共享的 Linux/OS X。我不知道您如何使用 C# 枚举远程 NFS/AFP 共享。

要检索目录/文件,您需要访问共享文件的权限。然后,您可以像扫描本地文件系统一样扫描它。这应该适用于所有技术。

列出磁盘分区需要访问远程计算机 (Windows) 上的 WMI。除了使用 ssh 或类似的远程应用程序外,我不知道您如何枚举 Linux 和 OS X 上的远程分区。

提取操作系统版本是操作系统特定的。同样,不确定如何使用 Linux 和 OS X 进行远程操作(例如,nmap 使用TCP/IP 堆栈指纹识别远程机器,这可能会被击败

我不确定您需要这个做什么,但我强烈建议您安装一个标准且经过良好测试的监控系统,而不是尝试自己动手。

于 2013-10-13T23:09:50.260 回答