我需要查询Windows域上远程工作站的文件系统。该程序应在远程文件系统中搜索是否存在特定的文件名和文件路径。例如,假设我想要找出在包含10,000台机器的域中的任何工作站上是否存在“c:\program files\mozilla\firefox.exe”或“c:\program files\chrome\chrome.exe”。
我知道什么选项: 1)只有C#代码与windows模拟使用WIN32应用程序接口和使用像\服务器名\C$\文件夹名称一样的管理员共享访问UNC路径。(我不确定我们需要从域服务器运行应用程序来获得工作站管理员共享访问权限)。
2)将WMI与C#管理类一起使用,使用域管理凭据模拟来获取远程系统访问,然后使用查询来获取远程文件信息。
我已经实现了这两个场景,但我不确定哪一个最好,并且实时性能很好。我只测试了2-3个可用的系统网络。
我脑子里有很多问题。
1)哪种方案最适合这种情况? 2)哪种方案更快、更安全、更稳定?
请建议我其中一个或任何一个最好的选择,以满足上述要求。
谢谢你,拉维
发布于 2012-04-30 02:25:40
不需要从域控制器运行此命令。使用适当的privs,您可以从任何地方运行WMI查询。事实上,将它们推送到DC会给查询增加一个跃点,并且可能比直接查询慢。如果你有这个进程的域管理员权限,我只需要直接查询unc路径来检查文件是否存在,然后就可以完成了。
https://stackoverflow.com/questions/10374651
复制相似问题