C# 使用WMI或其他安全方法从远程服务器获取IIS设置(位于web.config中)

C# 使用WMI或其他安全方法从远程服务器获取IIS设置(位于web.config中),c#,iis,web-config,wmi,C#,Iis,Web Config,Wmi,我试图通过编程方式从远程服务器(Win 2k8/IIS7或Win2k12/IIS8)读取(并且仅读取)各种IIS设置。 我尝试过但最终放弃了Microsoft.Web.Administration和WebConfiguration Manager方法,因为它们需要一定的安全“灵活性”,这对我来说是不可行的 我发现WMI模拟功能最为充分,并且我能够获得驻留在ApplicationHost.config文件中的设置 到目前为止,我还没有找到在虚拟目录级别使用WMI读取web.config文件的方法。

我试图通过编程方式从远程服务器(Win 2k8/IIS7或Win2k12/IIS8)读取(并且仅读取)各种IIS设置。 我尝试过但最终放弃了Microsoft.Web.Administration和WebConfiguration Manager方法,因为它们需要一定的安全“灵活性”,这对我来说是不可行的

我发现WMI模拟功能最为充分,并且我能够获得驻留在ApplicationHost.config文件中的设置

到目前为止,我还没有找到在虚拟目录级别使用WMI读取web.config文件的方法。 目前,我正在阅读身份验证设置-“模式”,以及该模式的各种属性

举例来说,这是我感兴趣的web.config文件的一部分(例如表单身份验证):


是否有方法使用WMI访问此数据? 或者你能想出另一种(安全的)方法来实现这个目标吗

谢谢你的帮助


EDIT找到了正确的名称空间并将其发布在一个答案中WMI不提供任何类来读取文件的内容。。。。但是对于您的特定情况,您可以检查引用并尝试类似于类的内容。

结果表明我使用了错误的WMI命名空间(MicrosoftiSV2)。 我应该使用的名称空间是WebAdministration。它可以访问我要查找的属性(特别是那些与表单身份验证相关的属性)。更多信息请点击这里-

我现在面临另一个问题,我可以在一台机器上连接到这个名称空间并查询数据,但在另一台(看起来完全相同)机器上却不行。
不过,我想这是一个不同问题的主题。

也许我应该用不同的措辞。我知道WMI不读取文件的内容。我只是在IIS WMI提供程序中找不到我要查找的设置的引用(在web.config中而不是在applictaionHost.config中找到)。不过我会去看一下iSwibbFileSetting课程,谢谢