web-dev-qa-db-fra.com

Comment arrêter / démarrer à distance un pool d'applications dans IIS 8

Attention: en utilisant une ligne chacun!

J'avais ces commandes à utiliser dans IIS 6, et elles fonctionnaient très bien.

Début:

(get-wmiobject -namespace 'root\MicrosoftIISv2' -computername 'REMOTE_SERVER' -class 'IIsApplicationPool' | where-object {$_.Name -eq 'W3SVC/AppPools/MY_FANCY_APPPOOL'}).InvokeMethod('Stop', $null)"

-et-

Arrêter:

(get-wmiobject -namespace 'root\MicrosoftIISv2' -computername 'REMOTE_SERVER' -class 'IIsApplicationPool' | where-object {$_.Name -eq 'W3SVC/AppPools/MY_FANCY_APPPOOL'}).InvokeMethod('Start', $null)

Je cherche une alternative dans IIS 8. J'ai besoin de deux lignes simples et elles doivent être Commandes Powershell. Je les appelle via une activité InvokePowerShellCommand dans TFS. Y a-t-il quelqu'un qui peut m'aider?

19
Barry Gallagher

Vous pouvez effectuer les opérations suivantes pour démarrer votre pool d'applications:

Invoke-Command -ComputerName "REMOTE_SERVER" -ScriptBlock { Start-WebAppPool -Name "MY_FANCY_APPPOOL" }

Vous pouvez effectuer les opérations suivantes pour arrêter votre pool d'applications:

Invoke-Command -ComputerName "REMOTE_SERVER" -ScriptBlock { Stop-WebAppPool -Name "MY_FANCY_APPPOOL" }
27
Mathieu Buisson

Pour commencer, vous devez parfois ajouter une attente explicite afin que le pool d'applications réponde aux messages de contrôle:

Invoke-Command -ComputerName "$REMOTE_SERVER" -ScriptBlock { Import-Module WebAdministration; Start-Sleep -s 10; Start-WebAppPool -Name "$APP_POOL_NAME" }

Et pour arrêter:

Invoke-Command -ComputerName "$REMOTE_SERVER" -ScriptBlock { Import-Module WebAdministration; Stop-WebAppPool -Name "$APP_POOL_NAME" }
6
Zachary