连接到IIS7时WMI错误

时间:2010-07-12 21:14:24

标签: iis iis-7 powershell wmi wmi-query

我遇到了同样的错误:

http://forums.iis.net/p/1033115/1700749.aspx

我有一个PowerShell cmdlet,它试图控制在Windows Server 2008 SP2和IIS 7上运行的Web应用程序。它尝试做的第一件事就是尝试使用WMI连接到远程计算机。它使用如下代码执行此操作:

ConnectionOptions connection = new ConnectionOptions();
connection.Authentication = AuthenticationLevel.PacketPrivacy;
this.iisScope = new ManagementScope(@"\\" + this.Name + @"\root\WebAdministration", connection);
this.iisScope.Connect();

this.Name是服务器名称。此代码始终有效(不会引发异常),但在远程计算机上,我在Windows事件日志中出现此错误:

  

访问root \ WebAdministration   命名空间被拒绝,因为   命名空间标有   需要加密,但脚本或   应用程序试图连接到   这个名称空间带有身份验证   等级低于Pkt_Privacy。改变   认证级别为Pkt_Privacy   并运行脚本或应用程序   试。

但是当cmdlet继续运行时,它会使用this.iisScope进行一些查询,并且它们都会成功,并且再也看不到该错误。我猜测发生了什么,但我不确定如何证明它。我认为它试图连接没有数据包隐私,失败,然后尝试使用数据包隐私。我试图用Wireshark嗅探数据包,但这并没有告诉我任何有用的东西。

1 个答案:

答案 0 :(得分:0)

请参阅本文中的代码:http://learn.iis.net/page.aspx/160/writing-powershell-commandlets-for-iis-70/。 您还可以安装PowerShell v2并使用get-wmiobject等。 - 他们在此版本中修复了这些cmdlet,现在您可以连接到需要加密连接的提供程序,例如IIS WMI提供程序。