user3874995
user3874995

Reputation: 381

The term 'appcmd' is not recognized as the name of a cmdlet

I'm getting the following error message:

The term 'appcmd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:7

Upvotes: 38

Views: 56118

Answers (7)

Mohammad Nadeem
Mohammad Nadeem

Reputation: 9392

Appcmd.exe exists at the location %systemroot%\system32\inetsrv\. You either need to update your PATH variable to add the path %systemroot%\system32\inetsrv\ like

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

or you can use Set-Location to first go to the location of Appcmd.exe like

Set-Location %systemroot%\system32\inetsrv\

and then run you command.

OR you can use the following:

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

Upvotes: 50

Shadi Alnamrouti
Shadi Alnamrouti

Reputation: 13248

I don't like to manually play with PATH or system env. The portable solution is to use the full path and name of the command:

For example, to recycle an app pool:

%systemroot%\system32\inetsrv\appcmd.exe recycle apppool /apppool.name:"my website app pool name"

Upvotes: 1

Edwin O.
Edwin O.

Reputation: 5276

Open command prompt as administrator, and try....

cd c:\windows\system32\inetsrv

then type

appcmd 

see my example below enter image description here

vote up if it works for you : D

Upvotes: 9

neptr
neptr

Reputation: 17

To view your current environment paths:

$Env:Path

To add the APPCMD path:

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

This should allow you to use your APPCMD command e.g.:

Appcmd Set Config /Section:RequestFiltering /AllowHighBitCharacters:True

Upvotes: 0

Dan Atkinson
Dan Atkinson

Reputation: 11699

I had the same issue and resolved it by doing the following:

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

Upvotes: 3

Fitch
Fitch

Reputation: 71

The issue is not just the path of the file.

Suggestion [3,General]: The command appcmd was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type ".\appcmd". See "get-help about_Command_Precedence" for more details.

So please run as follows:

.\appcmd set config -section:system.applicationHost/sites /+"[name='Default Web Site'].bindings.[protocol='https',bindingInformation='*:443:']" /commit:apphost

Upvotes: 7

Igor Yagolnitser
Igor Yagolnitser

Reputation: 330

I think the user has the same problem I did: %systemroot%\system32\inetsrv\ was empty on my machine.

You need to "Turn Windows features on and off", and then select "IIS Management Scripts and Tools" under "Internet Information Services"->"Web Management Tools".

Upvotes: 21

Related Questions