我收到以下错误消息:
术语“appcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在行:1 字符:7
我收到以下错误消息:
术语“appcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在行:1 字符:7
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
我认为用户遇到了同样的问题:%systemroot%\system32\inetsrv\ 在我的机器上是空的。
您需要“打开和关闭 Windows 功能”,然后在“Internet 信息服务”->“Web 管理工具”下选择“IIS 管理脚本和工具”。
问题不仅仅是文件的路径。
建议[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
我遇到了同样的问题并通过执行以下操作解决了它:
$systemRoot = [environment]::GetEnvironmentVariable("systemroot")
Set-Location $systemRoot\system32\inetsrv
.\appcmd
我不喜欢手动玩 PATH 或系统环境。可移植的解决方案是使用命令的完整路径和名称:
例如,要回收应用程序池:
%systemroot%\system32\inetsrv\appcmd.exe recycle apppool /apppool.name:"my website app pool name"
查看当前环境路径:
$Env:Path
添加 APPCMD 路径:
$Env:Path += ";C:\Windows\System32\inetsrv\"
这应该允许您使用您的 APPCMD 命令,例如:
Appcmd Set Config /Section:RequestFiltering /AllowHighBitCharacters:True