使用C#从远程PC检索分区/目录/文件夹/文件列表

时间:2013-10-13 19:24:38

标签: c# .net winforms filesystems

我正在尝试开发基于Windows的桌面软件,我想列出位于同一网络中的远程PC上的所有可访问分区/目录/文件夹/文件。我已成功编程如何通过列表中的IP /名称检索远程PC [我们知道Dropdown / Combobox]。接下来,一旦我选择了一台特定的远程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上共享。

1 个答案:

答案 0 :(得分:1)

This所以问题建议如何枚举远程共享。这适用于Windows计算机,并且应与具有Samba共享的Linux / OS X一起使用。我不知道你如何使用C#枚举远程NFS / AFP共享。

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

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

提取操作系统版本是特定于操作系统的。同样,不确定如何使用Linux和OS X执行此远程操作(例如,nmap使用TCP/IP stack fingerprinting来标识远程计算机,可以是defeated

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