如果应用程序池名称中有空格,如何从 cmd 行启动/停止 IIS 7 应用程序池?

sti*_*y77 21 iis iis-7

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

上面的 URL 描述了如何启动/停止 IIS 7 应用程序池。但是,我的应用程序池名称中有空格。双引号不起作用。想法?

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. )
Run Code Online (Sandbox Code Playgroud)

mfi*_*nni 34

键入appcmd list apppool,并准确使用它在您的appcmd start apppool /apppool.name:

带空格的名称应该用双引号转义。例如:

%SYSTEMROOT%\System32\inetsrv\appcmd stop apppool /apppool.name:"My App Services"
Run Code Online (Sandbox Code Playgroud)

发布您尝试运行的确切命令;也许你错过了冒号,或者语法有另一个问题?

编辑 - 您在冒号和第一个双引号之间添加一个空格。删除那个空格,使用双引号,看看会发生什么。


小智 7

引号似乎确实有效,但是冒号后面的空格似乎是问题所在(如 mfinni 所述)。以下是一些示例及其输出:

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.
Run Code Online (Sandbox Code Playgroud)