winapi - 使用 PowerShell : "Exception calling Recycle" 回收 IIS 应用程序池

标签 winapi powershell iis-6 wmi application-pool

最近的 Windows 更新似乎破坏了我用来回收 IIS6 应用程序池的一些功能,因为它已经工作了几个月直到今天。

Exception calling "Recycle" : "Win32: The object identifier does not representException calling "Recycle" : "Win32: The object identifier does not represent a valid object.

我用来回收应用程序池的函数是:

function recycle-pool($strServerName)
{
    $objWMI = [WmiSearcher] "Select * From IIsApplicationPool"
    $objWMI.Scope.Path = "\\" + $strServerName + "\root\microsoftiisv2"
    $objWMI.Scope.Options.Authentication = 6
    $pools = $objWMI.Get()
    foreach ($pool in $pools)
    {
        $pool.recycle()
        if (!$?)
        {
            Write-Host $pool.name " - ERROR"
        }
        else
        {
            Write-Host $pool.name " - Recycled"
        }
}

知道问题是什么以及我应该如何处理吗?

最佳答案

最初的问题是针对 IIS6 的,但我在 Windows 2012 上使用 WebAdministration 模块的 Restart-WebAppPool 遇到了类似的问题。所以我退回到调用 AppCMD,并且效果很好:

& $env:windir\system32\inetsrv\appcmd recycle apppool "YOURAPPPOOLNAMEHERE"

有时,您不必过度设计解决方案。希望有一天能帮助别人。

关于winapi - 使用 PowerShell : "Exception calling Recycle" 回收 IIS 应用程序池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/590094/

相关文章:

c++ - 将一个 DeviceContext 的内容复制到另一个 DeviceContext

windows - 将非 VCL 窗口添加到 VCL 对齐队列

c# - 如何使用 C#、WMI 和/或 System.Management 从 IIS 6.0 获取站点列表和 SSL 证书?

php - 尝试加载 SQLSRV 时页面挂起(IIS6 中的 PHP5、Windows Server 2003 R2)

winapi - 调用windows函数(获取字体目录)

rest - 使用 REST API 的 Azure API 管理的通知列表

powershell - filterhashtable通过事件代码过滤

authentication - Powershell BitsTransfer https基本身份验证语法

Javascript 无法在 IIS7.5 上的网站内运行 - Windows Server 2008 R2

c - 模拟和 Win32 API 调用