tiene - Reinicie IIS en máquina remota
permisos para administrar iis (6)
¿Cómo se puede reiniciar IIS en una máquina remota?
Conozco la dirección IP y la información de nombre de usuario y contraseña del usuario administrador.
¿Qué tan remoto es remoto? ¿Podría simplemente ejecutar Shutdown.exe desde su código c #? Si eso no es posible (firewalls, etc.), entonces el siguiente mejor probablemente sea poner un servicio allí que pueda llamar de forma remota (¡y de forma segura!) Que apague la máquina.
El siguiente script POSH le permitirá reiniciar asincrónicamente un conjunto de máquinas de forma remota (muy útil cuando se trabaja con un conjunto grande):
$a = Get-Content "c:/OneMachineNamePerLine.txt"
foreach($line in $a)
{
Start-Job -ScriptBlock {
iisreset $line
}
}
Podría usar sc, como sugirió Thomas Franke:
sc //RemoteServer stop iisadmin
sc //RemoteServer start w3svc
o psexec de SysInternals. El conjunto de PsTools es útil para estos escenarios.
psexec //RemoteServer iisreset
Probé el método basado en PowerShell pero seguí recibiendo el siguiente error:
Connecting to remote server <TARGET-HOST> failed with the following error message : The WinRM client cannot process the request.
Finalmente descubrí que necesitaba agregar el nodo objetivo como TrustedHosts
en el nodo fuente y viceversa. Si se encuentra con el mismo problema, puede solucionarlo abriendo un símbolo del sistema elevado y escribiendo los siguientes comandos:
Desde la PC usarás para emitir los comandos:
powershell
winrm set winrm/config/client ''@{TrustedHosts="TARGET-HOST"}''
Desde la PC de destino (la que tiene IIS):
powershell
winrm set winrm/config/client ''@{TrustedHosts="SOURCE-HOST"}''
(reemplazando a TARGET-HOST
y SOURCE-HOST
con los nombres de host de sus servidores o direcciones IP). En cuanto lo haga, puede emitir cualquier comando remoto de PowerShell , como por ejemplo:
IIS Stop:
powershell invoke-command -computername "TARGET-HOST" -scriptblock {iisreset /STOP}
Inicio de IIS:
powershell invoke-command -computername "TARGET-HOST" -scriptblock {iisreset /START}
Reinicio de IIS:
powershell invoke-command -computername "TARGET-HOST" -scriptblock {iisreset /RESTART}
... y más.
Para una revisión extensa de este tema, también puede leer la siguiente publicación .
Puede usar el comando "sc" para controlar el servicio iis en la máquina remota.
sc //RemoteServer stop [iis-service-name]
Utilizar
sc help
para obtener una lista de posibles argumentos
También eche un vistazo a un artículo de Microsoft kb sobre su tema .
Lo más simple será iisreset <servername>
Ejecute el símbolo del sistema como administrador y ejecute el comando.
Ejemplo: si el nombre del servidor es SRVAPP, entonces el comando será iisreset SRVAPP