Skip to content

Instantly share code, notes, and snippets.

@jonlabelle
Created April 17, 2014 21:41
Show Gist options
  • Save jonlabelle/11013179 to your computer and use it in GitHub Desktop.
Save jonlabelle/11013179 to your computer and use it in GitHub Desktop.
IIS 7 Command Line Tool

IIS 7 Command Line Tool

AppCmd.exe IIS 7 command-line tool used to perform common IIS administrative tasks such as creating new sites, stopping/starting services, and viewing status of the site.

Usage

appcmd (command) (object-type) <identifier> </parameter1:value1 ...>

In order to run AppCmd.exe, you will either need to change directory into %windir%\system32\inetsrv\ or add it to your PATH variable. On a Windows 2008 server with a default installation, AppCmd.exe is located in C:\Windows\System32\inetsrv.

Supported object types:

  • SITE Administration of virtual sites
  • APP Administration of applications
  • VDIR Administration of virtual directories
  • APPPOOL Administration of application pools
  • CONFIG Administration of general configuration sections
  • WP Administration of worker processes
  • REQUEST Administration of HTTP requests
  • MODULE Administration of server modules
  • BACKUP Administration of server configuration backups
  • TRACE Working with failed request trace logs

General parameters:

/?               Display context-sensitive help message.

/text<:value>    Generate output in text format (default).
                 /text:* shows all object properties in detail view.
                 /text:<attribute> shows the value of the specified
                 attribute for each object.

/xml             Generate output in XML format.
                 Use this to produce output that can be sent to another
                 command running in /in mode.

/in or -         Read and operate on XML input from standard input.
                 Use this to operate on input produced by another
                 command running in /xml mode.

/config<:*>      Show configuration for displayed objects.
                 /config:* also includes inherited configuration.

/metadata        Show configuration metadata when displaying configuration.

/commit          Set config path where configuration changes are saved.
                 Can specify either a specific configuration path, "site",
                 "app", "parent", or "url" to save to the appropriate portion
                 of the path being edited by the command, "apphost", "webroot",
                 or "machine" for the corresponding configuration level.

/debug           Show debugging information for command execution.

Use ! to escape parameters that have same names as the general parameters, like /!debug:value to set a config property named debug.

Examples

List

List all sites:

appcmd list sites

List started sites:

appcmd list sites /state:started

List stopped sites:

appcmd list sites /state:stopped

List unknown sites:

appcmd list sites /state:stopped

Start and Stop

Start a site:

appcmd start sites "Default Web Site"

Stop a site:

appcmd stop sites "Default Web Site"

Add

appcmd add site /name:mywebsite /id:99 /bindings:http/*:81: /physicalPath:C:\mywebsite

Configuration

List all backup configurations:

appcmd list backup

Show site configuration:

appcmd list site "Default Web Site" /config

Author

Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment