0

我正在尝试枚举和查询远程机器中的 WMI WebAdministration类。这是 C# 中的代码示例,但可以从 CIM Studio 或 WMI Tester 工具完成相同的操作

ManagementScope scope = new ManagementScope();
scope.Path = new ManagementPath(@"\\" + server + @"\root\WebAdministration");
ConnectionOptions options = new ConnectionOptions();
options.Impersonation = ImpersonationLevel.Impersonate;
options.EnablePrivileges = true;
options.Authentication = AuthenticationLevel.PacketPrivacy;
scope.Options = options;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT path FROM AuthenticationSection WHERE Path LIKE '%WebApp1%'");
searcher.Scope = scope;
foreach (ManagementObject os in searcher.Get()) //fails here
{
    Console.WriteLine("path - " + os["Path"].ToString());
}

这在连接指向一台远程计算机时有效,但在指向另一台计算机时失败(错误 0x80070032 “不支持请求”)。这两台机器看起来是一样的。我可能遗漏了一些东西,但 IIS 配置、安全设置、已安装的角色等看起来都一样。

需要说明的一件重要事情是,我能够在两台机器上成功查询 WMI MicrosoftIISv2 类。所以这个问题是 WebAdministration 命名空间独有的

搜索此错误,当问题是 WMI“外部”时,它似乎被抛出。仍在敲我的头以找出它来自哪里以及为什么。

欣赏任何线索或想法!

4

0 回答 0