我收到这里描述的相同错误:
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 命名空间的访问被拒绝,因为命名空间标有 RequiresEncryption,但脚本或应用程序尝试使用低于 Pkt_Privacy 的身份验证级别连接到此命名空间。将身份验证级别更改为 Pkt_Privacy 并再次运行脚本或应用程序。
但是随着 cmdlet 的继续,它会使用 this.iisScope 进行一些查询,并且它们都成功了,并且再也不会出现该错误。我对发生了什么有一个猜测,但我不确定如何证明它。我认为它试图在没有数据包隐私的情况下连接,失败,然后尝试使用数据包隐私。我试图用 Wireshark 嗅探数据包,但这并没有告诉我任何有用的信息。