我收到以下错误消息:
术语“appcmd”未被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。 在行:1 char:7
答案 0 :(得分:26)
Appcmd.exe
位于%systemroot%\system32\inetsrv\
位置。您需要更新PATH变量以添加路径%systemroot%\system32\inetsrv\
,如
SET PATH=%PATH%;%systemroot%\system32\inetsrv\
或者您可以使用Set-Location
首先转到Appcmd.exe
的位置
Set-Location %systemroot%\system32\inetsrv\
然后运行你的命令。
答案 1 :(得分:13)
我认为用户遇到了同样的问题:%systemroot%\ system32 \ inetsrv \在我的计算机上为空。
您需要“打开和关闭Windows功能”,然后选择“Internet信息服务”下的“IIS管理脚本和工具” - >“Web管理工具”。
答案 2 :(得分:3)
问题不仅仅是文件的路径。
建议[3,常规]:找不到命令appcmd,但确实存在于当前位置。默认情况下,Windows PowerShell不会从当前位置加载命令。如果您信任此命令,请键入“。\ appcmd”。有关更多详细信息,请参阅“get-help about_Command_Precedence”。
请按以下方式运行:
.\appcmd set config -section:system.applicationHost/sites /+"[name='Default Web Site'].bindings.[protocol='https',bindingInformation='*:443:']" /commit:apphost
答案 3 :(得分:2)
我遇到了同样的问题并通过以下方式解决了这个问题:
$systemRoot = [environment]::GetEnvironmentVariable("systemroot")
Set-Location $systemRoot\system32\inetsrv
.\appcmd
答案 4 :(得分:2)
答案 5 :(得分:0)
查看您当前的环境路径:
$Env:Path
添加APPCMD路径:
$Env:Path += ";C:\Windows\System32\inetsrv\"
这应该允许您使用APPCMD命令,例如:
Appcmd Set Config /Section:RequestFiltering /AllowHighBitCharacters:True
答案 6 :(得分:0)
我不喜欢手动使用PATH或系统环境。 可移植的解决方案是使用命令的完整路径和名称:
例如,回收一个应用程序池:
%systemroot%\system32\inetsrv\appcmd.exe recycle apppool /apppool.name:"my website app pool name"