0

我编写了一个 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 : 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。获取WmiObjectCommand*****

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

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

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

4

1 回答 1

0

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

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

于 2017-07-24T13:26:29.950 回答