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

如果应用程序池名称中有空格,如何从 cmd 行启动/停止 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. )

答案1

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

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

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

发布您要运行的确切命令;也许您错过了冒号或者语法存在其他问题?

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

答案2

引号似乎确实有效,但冒号后面的空格似乎是问题所在(正如 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.

答案3

尝试在冒号后不加空格
它对我来说是成功的
即使应用程序池名称中有空格,也请尝试使用双引号
示例 01:appcmd start apppool /apppool.name:"ASP.NET V2.0"
示例 02:appcmd start apppool /apppool.name:MyAppPool

答案4

在新版本的 IIS 中,您应该传递以下格式的名称apppoolsite

%systemroot%\system32\inetsrv\appcmd stop site "app_name"
%systemroot%\system32\inetsrv\appcmd stop apppool "apppool_name"

// update website's files

%systemroot%\system32\inetsrv\appcmd start apppool "apppool_name"
%systemroot%\system32\inetsrv\appcmd start site "app_name"

相关内容