我需要写一个程序,自动检测网络上C#中的windows和unix机器,然后将文件夹从windows共享目录复制到远程机器,并收集机器上有多少处理器。我不知道有什么C#函数可以帮助检测机器和它们的ips。我不能访问active directory,也不能为所有机器提供中央服务器。我可以创建一个perl程序在客户机上运行。(我也不确定如何在unix机器上访问windows共享)一般的指导和代码示例将不胜感激,谢谢
发布于 2012-04-11 17:59:10
你可以使用Nmap来发现网络机器,它是无客户端的,通过-O参数,它会告诉你机器是运行的是Windows操作系统还是Linux操作系统。然后,您可以使用SNMP或WMI来检索CPU的数量,即使这需要计算机安装SNMP或WMI。然而,有了在远程机器上运行的客户端,一切都会变得容易得多,特别是如果你必须复制文件的话。
发布于 2012-04-11 06:08:09
你有两个截然不同的问题。
$^O
将在Perl中为您提供此功能。
$ perl -E'say $^O'
linux
>perl -E"say $^O"
MSWin32
好吧,对于初学者来说,这是一个SMB文件共享。
因此,您真正需要的只是一个SMB客户端。我很快就找到了Filesys::SmbClient,这是一个似乎符合要求的Perl模块。
https://stackoverflow.com/questions/10096454
复制相似问题