获取非管理员帐户的 IIS 应用程序池 WMI 对象



我编写了一个Powershell脚本来停止和启动Windows Server 2008机器上的IIS应用程序池。IIS 版本是 7.5

我在计算机上具有管理员权限,当我运行它时,脚本工作正常。但是当我使用非管理员服务帐户触发相同的脚本时,它失败了。

触发器来自 CA 发布自动化工具,代理在计算机上配置了服务帐户。以下是我卡住的命令。

gwmi -Namespace rootwebAdministration -class ApplicationPool -Authentication PacketPrivacy | Where-Object { $_.Name -eq "siteURL" }

错误:

Get-WmiObject : 提供程序加载失败 at C:\Users\SVC_DEV_APP\AppData\Local\Temp\tempz_891958570065876740601304.ps1:2 char:5
+ gwmi <<<<-Namespace root\webAdministration -class 应用程序池
+ 类别信息: 无效操作: (:) [Get-WMIObject], ManagementException
+ FullQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Command.GetWmiObjectCommand Get-WmiObject : 提供程序加载失败 C:\Users\SVC_DEV_APP\AppData\Local\Temp\tempz_891958570065876740601304.ps1:2 char:5
+ gwmi <<<<-Namespace root\webAdministration -class 应用程序池 + 类别信息: 无效操作: (:) [Get-WMIObject], ManagementException
+ FullQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand*****

我尝试为其他Windows服务(Win32_Service(获取WMI对象,并且工作正常。仅对于 IIS 对象,它才会引发错误。

我已经按照某些论坛的建议,在命名空间(实际上是 Root 及其子命名空间(上为服务帐户提供了控制权(执行方法、启用帐户、远程启用(。

我还将服务帐户添加为 IIS 管理器,但没有任何效果。

我认为你遇到了UAC。不幸的是,UAC 会影响 WMI。

如何解决: https://msdn.microsoft.com/en-us/library/aa826699(v=vs.85(.aspx

相关内容

最新更新