26

我收到以下错误消息:

术语“appcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在行:1 字符:7

4

7 回答 7

39

Appcmd.exe存在于该位置%systemroot%\system32\inetsrv\。您要么需要更新 PATH 变量以添加路径%systemroot%\system32\inetsrv\,例如

SET PATH=%PATH%;%systemroot%\system32\inetsrv\

或者你可以使用Set-Location先去Appcmd.exe喜欢的位置

Set-Location %systemroot%\system32\inetsrv\

然后运行你的命令。

或者您可以使用以下内容:

c:\windows\system32\inetsrv\appcmd.exe

于 2014-07-25T03:00:40.773 回答
17

我认为用户遇到了同样的问题:%systemroot%\system32\inetsrv\ 在我的机器上是空的。

您需要“打开和关闭 Windows 功能”,然后在“Internet 信息服务”->“Web 管理工具”下选择“IIS 管理脚本和工具”。

于 2015-10-02T19:19:36.373 回答
8

以管理员身份打开命令提示符,然后尝试....

cd c:\windows\system32\inetsrv

然后输入

appcmd 

请参阅下面的示例 在此处输入图像描述

如果它适合你,请投票:D

于 2017-06-09T10:26:42.883 回答
4

问题不仅仅是文件的路径。

建议[3,General]:找不到命令appcmd,但当前位置确实存在。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果您信任此命令,请键入“.\appcmd”。有关更多详细信息,请参阅“获取关于_Command_Precedence 的帮助”。

所以请运行如下:

.\appcmd set config -section:system.applicationHost/sites /+"[name='Default Web Site'].bindings.[protocol='https',bindingInformation='*:443:']" /commit:apphost
于 2016-05-04T16:17:44.087 回答
3

我遇到了同样的问题并通过执行以下操作解决了它:

$systemRoot = [environment]::GetEnvironmentVariable("systemroot")
Set-Location $systemRoot\system32\inetsrv
.\appcmd
于 2017-03-09T18:16:19.870 回答
1

我不喜欢手动玩 PATH 或系统环境。可移植的解决方案是使用命令的完整路径和名称:

例如,要回收应用程序池:

%systemroot%\system32\inetsrv\appcmd.exe recycle apppool /apppool.name:"my website app pool name"
于 2020-08-11T14:20:40.073 回答
0

查看当前环境路径:

$Env:Path

添加 APPCMD 路径:

$Env:Path += ";C:\Windows\System32\inetsrv\"

这应该允许您使用您的 APPCMD 命令,例如:

Appcmd Set Config /Section:RequestFiltering /AllowHighBitCharacters:True
于 2017-05-05T11:11:15.507 回答