次のエラーメッセージが表示されます。
「appcmd」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認して、再試行してください。行:1文字:7
Appcmd.exe
は%systemroot%\system32\inetsrv\
の場所に存在します。 %systemroot%\system32\inetsrv\
のようにパスを追加するには、PATH変数を更新する必要があります
SET PATH=%PATH%;%systemroot%\system32\inetsrv\
または、Set-Location
を使用して、最初にAppcmd.exe
の場所に移動できます。
Set-Location %systemroot%\system32\inetsrv\
コマンドを実行します。
ユーザーが私がした同じ問題があると思います:%systemroot%\ system32\inetsrv \は私のマシンで空でした。
「Windowsの機能を有効または無効にする」必要があります。次に、「インターネットインフォメーションサービス」->「Web管理ツール」から「IIS管理スクリプトとツール」を選択します。
問題はファイルのパスだけではありません。
提案[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
私は同じ問題を抱えていて、次のようにしてそれを解決しました:
$systemRoot = [environment]::GetEnvironmentVariable("systemroot")
Set-Location $systemRoot\system32\inetsrv
.\appcmd
現在の環境パスを表示するには:
$Env:Path
APPCMDパスを追加するには:
$Env:Path += ";C:\Windows\System32\inetsrv\"
これにより、APPCMDコマンドを使用できるようになります。例:
Appcmd Set Config /Section:RequestFiltering /AllowHighBitCharacters:True