2009-04-01 12 views

Antwort

-2

Wie weit entfernt ist die Fernbedienung? Sie könnten einfach Shutdown.exe von Ihrem C# Code ausführen? Wenn das nicht möglich ist (Firewalls usw.), würde der nächstbeste wahrscheinlich einen Dienst dort anstellen, den Sie aus der Ferne (und sicher!) Anrufen könnten, der den Rechner herunterfährt.

+1

das beschreibt, wie man einen _server_ aus der Ferne herunterfährt, anstatt nur den _service_ –

3

Sie können den Befehl "sc" verwenden, um den iis-Service auf dem Remote-Computer zu steuern.

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

Verwenden

sc help 

, um eine Liste der möglichen Argumente zu erhalten.

Schauen Sie sich auch a microsoft kb-article on your subject an.

5

könnten Sie sc verwenden, wie Thomas Franke vorgeschlagen:

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

oder SysInternals' psexec. Die PsTools suite ist für diese Szenarien nützlich.

psexec \\RemoteServer iisreset 
+0

zu starten. Kann auch PowerShell verwenden. – Kiquenet

+0

psexec hat nicly für mich gearbeitet. Vielen Dank! – Rob

28

Simplest wird iisreset <servername>

Run Eingabeaufforderung als Administrator und den Befehl auszuführen.

Beispiel: Wenn Servername SRVAPP ist, dann wird seinen Befehl iisreset SRVAPP

0

Die folgende POSH Skript asynchron kann aus der Ferne eine Reihe von Maschinen zurückgesetzt (sehr praktisch, wenn mit einem großen Satz in Betrieb):

$a = Get-Content "c:\OneMachineNamePerLine.txt" 

foreach($line in $a) 
{ 

    Start-Job -ScriptBlock { 
     iisreset $line 
    } 
} 
3

habe ich versucht, die Powershell-basierte Methode aber ich hielt die folgende Fehlermeldung erhalten:

Connecting to remote server <TARGET-HOST> failed with the following error message : The WinRM client cannot process the request.

Ich fand schließlich heraus, dass ich den Zielknoten als TrustedHosts im Quellknoten hinzufügen musste und umgekehrt. Wenn Sie in der gleichen Ausgabe ausführen, können Sie es beheben, indem ein erhöhter Eingabeaufforderung öffnen und die Eingabe der folgenden Befehle:

Vom PC werden Sie die Befehle zur Ausgabe verwenden:

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

Vom Ziel-PC (die mit IIS):

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

(ersetzt TARGET-HOST und SOURCE-HOST mit Ihren Servern Hostnamen oder IP-Adressen).Sobald Sie tun, dass Sie jede Fern ausgeben kann Powershell Befehl, wie zB:

IIS-Stop:

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

IIS Start:

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

IIS neu starten :

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

... und mehr.

Für eine umfassende Überprüfung dieser Ausgabe können Sie auch read the following post.

Verwandte Themen