¿Es posible reciclar un grupo de aplicaciones IIS7 desde la línea de comandos, en una máquina diferente?
Encontré APPCMD ( appcmd recycle apppool my-app-pool
), pero solo funciona en el host en el que se ejecuta, AFAICT.
Escuché un rumor de que podría haber una manera de hacerlo con Powershell, pero no sé nada al respecto, y aparentemente no soy muy bueno para buscarlo en Google.
Estoy usando Vista / Server 2008, si eso importa.
EDITAR: Encontré algo llamado WinRM que alguien dice que es capaz de ejecutar APPCMD, pero aún no estoy seguro de cómo.
Psexec \\computer c:\windows\system32\inetsrv\appcmd.exe" recycle apppool AppPoolName
Para hacerlo de forma remota desde PowerShell, debe usar la comunicación remota de PowerShell o WMI.
En realidad, es muy simple usar el cmdlet Invoke-WMIMethod PowerShell, pero debe especificar
-Authentication PacketPrivacy
... y si necesita especificar diferentes credenciales, puede hacerlo con el parámetro-Credential (Get-Credential)
... aquí hay un ejemplo:Escribí una buena función para terminar todo eso: http://poshcode.org/2466
fuente
Si la línea de comando es su elección, PsExec parece ser la solución, pero para tareas de misión crítica no lo recomendaría. La razón es la siguiente: PsExec tiene problemas con varias ejecuciones.
Prefiero usar API para tales fines.
fuente
Similar a la respuesta de @ Jeff, con Powershell remoto sería:
Enter-PSSession -ComputerName <your server> -Credential <username, or (Get-Credential)>
Luego, en la sesión interactiva, luego:
appcmd recycle apppool my-app-pool
para reiniciar el grupo de aplicaciones.
fuente
Reciclar AppPool en PowerShell
En este ejemplo: MSExchangeSyncAppPool
fuente