Как удаленно остановить/запустить пул приложений в IIS 8
Предостережение: используя по одной строке каждый!
У меня были эти команды для использования в IIS 6, и они отлично работали.
Начало:
(get-wmiobject -namespace 'root\MicrosoftIISv2' -computername 'REMOTE_SERVER' -class 'IIsApplicationPool' | where-object {$_.Name -eq 'W3SVC/AppPools/MY_FANCY_APPPOOL'}).InvokeMethod('Stop', $null)"
й -
Стоп
(get-wmiobject -namespace 'root\MicrosoftIISv2' -computername 'REMOTE_SERVER' -class 'IIsApplicationPool' | where-object {$_.Name -eq 'W3SVC/AppPools/MY_FANCY_APPPOOL'}).InvokeMethod('Start', $null)
Я ищу альтернативу в IIS 8. Мне нужна пара однострочных, и они должны быть командами Powershell. Я вызываю их через InvokePowerShellCommand
активность в TFS. Кто-нибудь может помочь мне?
Ответы
Ответ 1
Для запуска пула приложений вы можете сделать следующее:
Invoke-Command -ComputerName "REMOTE_SERVER" -ScriptBlock { Start-WebAppPool -Name "MY_FANCY_APPPOOL" }
Вы можете сделать следующее, чтобы остановить пул приложений:
Invoke-Command -ComputerName "REMOTE_SERVER" -ScriptBlock { Stop-WebAppPool -Name "MY_FANCY_APPPOOL" }
Ответ 2
Чтобы начать, иногда вам нужно добавить явное ожидание, чтобы пул приложений реагировал на управляющие сообщения:
Invoke-Command -ComputerName "$REMOTE_SERVER" -ScriptBlock { Import-Module WebAdministration; Start-Sleep -s 10; Start-WebAppPool -Name "$APP_POOL_NAME" }
И чтобы остановить:
Invoke-Command -ComputerName "$REMOTE_SERVER" -ScriptBlock { Import-Module WebAdministration; Stop-WebAppPool -Name "$APP_POOL_NAME" }