Если вы хотите сделать это удаленно и / или на машине без PowerShell, вы можете изменить сценарий, размещенный здесь .
Он использует WMI для доступа и перезапуска пула приложений из VBScript. Это тривиальное изменение, позволяющее останавливать / запускать пулы, а не перерабатывать их. Вам просто нужно вызвать .Stop
или .Start
для соответствующего пула приложений.
Мясо сценария перефразировано ниже:
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
Если у вас есть какая-то цепочка командных / пакетных инструментов, в которую вы хотите интегрировать ее, вы можете запустить файл VBScript в режиме командной строки, вызвав:
CScript.exe \NoLogo MyScriptFile.vbs
Переключатель \ NoLogo удаляет сообщения запуска интерпретатора VBScript, а запуск его с помощью CScript.exe означает, что вызовы WScript.Echo
идут в командной строке, а не во всплывающем окне.