Start/Stop App Pool IIS6.0 with Powershell or command line

后端 未结 6 1796
眼角桃花
眼角桃花 2021-01-12 17:48

I\'m using IIS 6.0 and looking for a way to stop/start the app pool. I know there is a stop-appPool for powershell in 7.0 but using 6.0. :-( So does anyone have a powersh

6条回答
  •  失恋的感觉
    2021-01-12 18:42

    If you wish to do this remotely, and / or on a machine without powershell you can modify the script posted here.

    It uses WMI to access and recycle the app pool, from VBScript. It's a trivial change to make it stop / start pools instead of recycling them, you just need to call .Stop or .Start on the app pool in question.

    The meat of the script is paraphrased below:

    strServer = "LocalHost" 'Server name goes here
    strAppPoolName = "MyAppPool" 'App pool name goes here
    
    'Connect to the specified server using WMI
    set Locator = CreateObject("WbemScripting.SWbemLocator")
    Locator.Security_.AuthenticationLevel = 6
    set Service = locator.connectserver(strServer,"root/MicrosoftIISv2")
    
    'Get a collection of WMI apppools
    set APCollection = Service.InstancesOf("IISApplicationPool")
    
    For each APInstance in APCollection
        If UCase(ApInstance.Name) = UCase("W3SVC/AppPools/" & strAppPoolName) Then
            WScript.Echo "Recycling " & strServer & "/" & APInstance.Name
                ' You can do any of these things depending you what you want to do.
                APInstance.Recycle
                APInstance.Stop
                APInstance.Start
            End If
        Next
    

    If you have some kind of command line / batch toolchain which you want to integrate this into, you can execute a VBScript file in command line mode by calling:

    CScript.exe \NoLogo MyScriptFile.vbs
    

    The \NoLogo switch removes the VBScript interpreter startup messages and running it with CScript.exe means that calls to WScript.Echo go to the command line rather than a popup window.

提交回复
热议问题