web-dev-qa-db-ja.com

「appcmd」という用語はコマンドレットの名前として認識されません

次のエラーメッセージが表示されます。

「appcmd」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認して、再試行してください。行:1文字:7

17
user3874995

Appcmd.exe%systemroot%\system32\inetsrv\の場所に存在します。 %systemroot%\system32\inetsrv\のようにパスを追加するには、PATH変数を更新する必要があります

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

または、Set-Locationを使用して、最初にAppcmd.exeの場所に移動できます。

Set-Location %systemroot%\system32\inetsrv\

コマンドを実行します。

29
Mohammad Nadeem

ユーザーが私がした同じ問題があると思います:%systemroot%\ system32\inetsrv \は私のマシンで空でした。

「Windowsの機能を有効または無効にする」必要があります。次に、「インターネットインフォメーションサービス」->「Web管理ツール」から「IIS管理スクリプトとツール」を選択します。

16

問題はファイルのパスだけではありません。

提案[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
4
Fitch

管理者としてコマンドプロンプトを開き、試してください...

cd c:\windows\system32\inetsrv

次に入力

appcmd 

以下の私の例をご覧ください enter image description here

それがあなたのために働くなら投票してください:D

私は同じ問題を抱えていて、次のようにしてそれを解決しました:

$systemRoot = [environment]::GetEnvironmentVariable("systemroot")
Set-Location $systemRoot\system32\inetsrv
.\appcmd
2
Dan Atkinson

現在の環境パスを表示するには:

$Env:Path

APPCMDパスを追加するには:

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

これにより、APPCMDコマンドを使用できるようになります。例:

Appcmd Set Config /Section:RequestFiltering /AllowHighBitCharacters:True
0
Rubio