Wie können Sie den IIS 7-App-Pool über die Befehlszeile starten / stoppen, wenn der Name des App-Pools Leerzeichen enthält?

17

http://technet.microsoft.com/en-us/library/cc732742(WS.10).aspx

Die obige URL beschreibt, wie ein IIS 7-App-Pool gestartet / gestoppt wird. Der Name meines App-Pools enthält jedoch Leerzeichen. Doppelte Anführungszeichen funktionieren nicht. Ideen?

C:\Windows>C:\Windows\System32\inetsrv\appcmd stop apppool /apppool.name: My Ap
p Services
Failed to process input: The parameter 'App' must begin with a / or - (HRESULT=8
0070057).

C:\Windows>C:\Windows\System32\inetsrv\appcmd stop apppool /apppool.name: "My A
pp Services"
ERROR ( message:The attribute "apppool.name" is not supported in the current com
mand usage. )
stimpy77
quelle
Hinweis : Wenn Sie die Fehlermeldung erhalten ERROR ( message:The WAS service is not available - try starting the service first.), müssen Sie mit Administratorrechten
KyleMit
1
@KyleMit Sie erhalten diese Meldung auch, wenn WAS nicht gestartet wurde. In diesem Fall müssen Sie WAS mit starten net start was.
Professor für Programmierung

Antworten:

24

Geben Sie appcmd list apppoolgenau das ein, was dort in Ihrer Liste stehtappcmd start apppool /apppool.name:

Namen mit Leerzeichen müssen in Anführungszeichen gesetzt werden. Beispielsweise:

%SYSTEMROOT%\System32\inetsrv\appcmd stop apppool /apppool.name:"My App Services"

Geben Sie den genauen Befehl ein, den Sie ausführen möchten. Vielleicht haben Sie den Doppelpunkt verpasst oder es gibt ein anderes Problem mit der Syntax?

Bearbeiten - Sie fügen ein Leerzeichen zwischen dem Doppelpunkt und dem ersten Anführungszeichen ein. Entfernen Sie dieses Leerzeichen, verwenden Sie das doppelte Anführungszeichen und sehen Sie, was passiert.

mfinni
quelle
Dies geschieht OHNE Anführungszeichen, wobei der Name "My App Services" lautet: Fehler beim Verarbeiten der Eingabe: Der Parameter "App" muss mit einem / oder - beginnen (HRESULT = 8 0070057).
stimpy77
Und dies geschieht mit Anführungszeichen für den Namen "My App Services": FEHLER (Meldung: Das Attribut "apppool.name" wird in der aktuellen Befehlsverwendung nicht unterstützt.)
stimpy77
Stimpy - wie gesagt, posten Sie den genauen Befehl, den Sie eingeben. - whoops - Ich sehe, Sie haben Ihren Beitrag so bearbeitet, dass er das enthält. Nehmen Sie das erste Leerzeichen nach dem ":"
mfinni
Fehler beim Verarbeiten der Eingabe: Der Parameter 'Services' muss mit einem / oder - beginnen (HRESULT = 80070057).
stimpy77
7

Die Anführungszeichen scheinen zu funktionieren, es ist jedoch das Leerzeichen nach dem Doppelpunkt, das das Problem zu sein scheint (wie von mfinni angegeben). Hier sind einige Beispiele und deren Ausgaben:

c:\Windows\System32\inetsrv>appcmd start apppool /apppool.name: "Classic .NET AppPool"
ERROR ( message:The attribute "apppool.name" is not supported in the current command usage. )

c:\Windows\System32\inetsrv>appcmd start apppool /apppool.name:"Classic .NET AppPool"
"Classic .NET AppPool" successfully started.
umbyersw
quelle
Das hat bei mir geklappt. Ich hatte das Leerzeichen zwischen dem Doppelpunkt und den Anführungszeichen auf dem App-Pool-Namen und es warf den Fehler.
Techgration
Irgendwelche Ideen, warum dies den Pool recyceln würde, anstatt ihn zu stoppen?
Alex
2

Versuchen Sie es ohne Leerzeichen nach dem Doppelpunkt.
Es ist mir gelungen.
Auch wenn der Name des App-Pools Leerzeichen enthält, versuchen Sie es mit doppelten Anführungszeichen.
Beispiel 01: appcmd start apppool /apppool.name:"ASP.NET V2.0"
Beispiel 02:appcmd start apppool /apppool.name:MyAppPool

Kumar
quelle