2009-04-01 77 views
21

¿Cómo se puede reiniciar IIS en una máquina remota?Reiniciar IIS en la máquina remota

Conozco la dirección IP y la información de nombre de usuario y contraseña del usuario administrador.

+0

Estoy usando C# y asp .net 2.0 –

Respuesta

-2

¿Qué tan remoto es el control 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.

+1

esto describe cómo cerrar remotamente un _servidor_ en lugar de reiniciar únicamente el _servicio_ –

3

Puede utilizar el comando "sc" para controlar el iis-service en la máquina remota.

sc \\RemoteServer stop [iis-service-name] 

Uso

sc help 

con el fin de obtener una lista de posibles argumentos.

También eche un vistazo a a microsoft kb-article on your subject.

5

Usted podría utilizar sc, como sugiere Thomas Franke:

sc \\RemoteServer stop iisadmin 
sc \\RemoteServer start w3svc 

o SysInternals' psexec. El PsTools suite es útil para estos escenarios.

psexec \\RemoteServer iisreset 
+0

También puede usar PowerShell. – Kiquenet

+0

psexec funcionó muy bien para mí. ¡Gracias! – Rob

28

más simple habrá iisreset <servername>

símbolo del sistema Ejecutar como administrador y ejecutar el comando.

Ejemplo: Si el nombre del servidor es SRVAPP entonces orden será iisreset SRVAPP

0

La siguiente secuencia de comandos POSH le permitirá restablecer de forma asincrónica 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 
    } 
} 
3

he probado 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 de destino como TrustedHosts en el nodo fuente y viceversa. Si se encuentra con el mismo problema, puede solucionarlo mediante la apertura de una elevada símbolo de sistema y escribiendo los siguientes comandos:

Desde el PC que va a utilizar para emitir los comandos:

powershell 
winrm set winrm/config/client '@{TrustedHosts="TARGET-HOST"}' 

Desde el PC de destino (el que tiene IIS):

powershell 
winrm set winrm/config/client '@{TrustedHosts="SOURCE-HOST"}' 

(reemplazando TARGET-HOST y SOURCE-HOST con sus servidores nombres de host o direcciones IP).Tan pronto como se hace eso puede emitir cualquier control remoto PowerShell comando, tales como:

IIS Stop:

powershell invoke-command -computername "TARGET-HOST" -scriptblock {iisreset /STOP} 

IIS inicio: Reiniciar

powershell invoke-command -computername "TARGET-HOST" -scriptblock {iisreset /START} 

IIS :

powershell invoke-command -computername "TARGET-HOST" -scriptblock {iisreset /RESTART} 

... y más.

Para una revisión extensa de este tema también puede read the following post.

Cuestiones relacionadas