我写了一个powershell脚本来停止和启动Windows Server 2008计算机上的IIS应用程序池。 IIS版本是7.5
我在计算机上拥有管理员权限,当我运行它时脚本运行正常。但是,当我使用非管理员服务帐户触发相同的脚本时,它会失败。
触发器来自CA Release Automation工具,代理程序在具有服务帐户的计算机上配置。以下是我被卡住的命令。
gwmi -Namespace root\webAdministration -class ApplicationPool -Authentication PacketPrivacy | Where-Object { $_.Name -eq "siteURL" }
错误:
***** Get-WmiObject:提供程序加载失败在C:\ Users \ SVC_DEV_APP \ AppData \ Local \ Temp \ tempz_891958570065876740601304.ps1:2 char:5
+ gwmi<<<< -Namespace root \ webAdministration -class ApplicationPool
+ CategoryInfo:InvalidOperation:(:) [Get-WmiObject],ManagementException
+ FullyQualifiedErrorId: GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand Get-WmiObject:提供程序加载失败At C:\用户\ SVC_DEV_APP \应用程序数据\本地的\ Temp \ tempz_891958570065876740601304.ps1:2 char:5
+ gwmi<<<< -Namespace root \ webAdministration -class ApplicationPool + CategoryInfo:InvalidOperation:(:) [Get-WmiObject],ManagementException
+ FullyQualifiedErrorId: GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand *****
我试过为其他Windows服务(Win32_Service)获取WMI对象,但它运行正常。只有IIS对象才会抛出错误。
我已根据某些论坛的建议,在命名空间(实际上是Root及其子命名空间)上提供了服务帐户,控制(执行方法,启用帐户,远程启用)。
我还将服务帐户添加为IIS管理器,但没有任何结果。
答案 0 :(得分:0)
我认为你正在碰到UAC。不幸的是,UAC影响了WMI。
如何解决: https://msdn.microsoft.com/en-us/library/aa826699(v=vs.85).aspx