【问题标题】:Search and get file information from remote workstation on a Windows domain从 Windows 域上的远程工作站搜索和获取文件信息
【发布时间】:2012-04-29 18:12:37
【问题描述】:

我需要查询 Windows 域上远程工作站的文件系统。程序应搜索远程文件系统是否存在特定文件名和文件路径。例如,假设我想知道“c:\program files\mozilla\firefox.exe”或“c:\program files\chrome\chrome.exe”是否存在于 10,000 台机器的域中的任何工作站上。

我知道哪些选项: 1) 只有 C# 代码使用 WIN32 API 和使用具有管理员共享访问权限的 UNC 路径,如 \ServerName\C$\FolderName。(我不确定我们是否需要从域服务器运行应用程序才能获得工作站管理员共享访问权限) .

2) 将 WMI 与 C# 管理类一起使用,通过域管理员凭据模拟获取远程系统访问权限,然后使用查询获取远程文件信息。

我已经实现了这两种场景,但我不确定哪一个最好并且实时表现良好。我只测试了可用的 2-3 个系统网络。

我有问题。

1) 哪个选项最适合这种情况? 2) 哪个更快、更安全、更一致?

请向我推荐其中一个或任何可满足上述要求的最佳选择。

谢谢你, 拉维

【问题讨论】:

    标签: c# wmi


    【解决方案1】:

    无需从域控制器运行它。使用适当的权限,您可以从任何地方运行 WMI 查询。事实上,将它们推送到 DC 会为查询添加一个跃点,并且可能比直接查询要慢。如果您有该进程的域管理员权限,我只需直接查询 unc 路径以进行文件存在检查,然后就可以完成了。

    【讨论】:

    • 哪个更好?带有 prv 的 WMI 或 UNC 路径?是 Active Directory - LogonUser 将努力让 prv 访问 UNC。
    • 最终,我不知道您可能会看到这两种方法的巨大差异。为了稳健性,我会避免使用管理共享,并可能使用/鼓励 WMI 选项。
    • 谢谢大卫,实际上我的情况是我必须决定其中一个选项,对我来说还有一个问题是我没有域来测试我的代码。我正在使用小型网络在我的机器上编码和测试它,这永远不会给出真正的结果。这就是为什么我要求专家确定最佳选择。 - 非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多