AppcmdUI - appcmd command autocompletion tool

Posted: Apr 14, 2007  5 comments  

Average Rating

Tags
Appcmd
AppcmdUI

Share this Post

Do you always find yourself using “/?” in appcmd to find what switches you need? Do you always run “appcmd list” commands to see the list of apppools/sites/apps/traces etc before actually running the command? Do you always end up opening schema when working with "appcmd config" commands? Worry no more. I have written AppcmdUI to alleviate your pains. AppcmdUI provides you available options at each step so that you only need to pick the option from the list as in the snapshot below.

AppcmdUI 

Features
§  Works with both “appcmd <object> <verb>” and “appcmd <verb> <object>” command styles.
§  Shows list of objects and verbs available. Builds auto complete list dynamically so that you see only few options.
§  Builds list of current application pools, sites, applications, virtual directories, backups, module, traces, worker processes and shows them as parameter values. Updates this list when “appcmd add/delete” commands are used.
§  Force update option for tool to pick latest configuration data when “appcmd set config” or other scripts/tools are used to add/delete apppools/sites/apps/vdirs.
§  Parses the schema and shows section names in commands which require section names. Custom defined sections are automatically picked.
§  When working with a particular section, shows list of attributes/elements/collections and helps you setting attributes and adding/removing collection elements.
§  Shows attributes, elements, collections which you can set using “appcmd set apppool|site|app|vdir|module” commands.
§  Shows general appcmd parameters. Uses –parameter for general parameters rather than /parameter to show they are different.
§  Shows possible attributes when “appcmd –text:” used.
§  Can execute command and see the output in the same window.
§  Shows examples of commands you are working with which are in “appcmd <verb> <object> /?” help.
§  Supports auto complete and command execution even when piping commands together.
§  Limited support for identifiers. There is a corresponding /parameter option for most of the identifiers. Uses /parameter:value.
§  NEW - Up-down lets you browse recently executed commands.
§  NEW - If you run the application without sufficient privileges, it shows UAC dialog box for you to grant access.

Installation
You can use AppcmdUI only on machines which has IIS7 and appcmd.exe installed. Download attached AppcmdUIInstall.zip and run self extracting package AppcmdUIInstall.exe. Extract files (AppcmdUI.exe and AppcmdUI.xml) to a folder on your machine and you are done.

How to Use
Run AppcmdUI.exe as elevated (newest version will demand administrator access if needed only if when you don't run it from command window). Running from an elevated command prompt is not enough because of UAC settings for applications which are not under windows directory. Start typing appcmd commands in the textbox. You will get list of available options as you go along. Use mouse or down/up arrow keys to select any of available options. Auto complete list is updated every time you type space/comma/colon/dot so that you only see few options which are valid in current context and helps you choose only next option. Snapshot below shows list of available objects in appcmd which are shown on typing “appcmd “.

Appcmd Objects

AppcmdUI uses “appcmd <object> <verb>” format. So you see list of available objects after appcmd. If you type “appcmd <verb>” and then space, you will see list of objects which you can use with the verb you typed. If you want to get list of verbs and not objects when you type “appcmd “, you can set <verb> <object> option in the menu as shown below.

Change command style

When you have the <verb> <object> option set, you will see the available verbs after appcmd as shown below.

Appcmd Verbs

Once you have selected verb and object, you will see list of available options which can be used with them.

Parameter Values
When you need the available application pools, sites, applications, virtual directories, backups, traces, worker processes in the command, AppcmdUI shows the values you can use. Next time when you need to start or stop apppools/sites, delete apps/vdirs or inspect traces, you won’t need “appcmd list” command first.

Parameter Values

Force Update
AppcmdUI picks up list of application pools, sites, applications, virtual directories, backups once and update this list only when “appcmd add/delete” calls are made. If you use “appcmd set config” call or some other means of creating apppools/sites/apps etc, you would see the list is not updated. Eg. If a new application pool “AppcmdAppPool” is created using “appcmd set config /section:applicationPools /+[name='AppcmdAppPool']", that apppool is not shown in the list of available apppools.

Using Appcmd set

You can use "Force Update" option to force AppcmdUI to update list of application pools, sites, applications etc.

Force Update

After forcing an update, "AppcmdAppPool" is shown in the list of available application pools.

After force update

Working with configuration
When you are working with “appcmd list config” or “appcmd set config”, you get list of available sections as soon as you enter “/section:” as shown below.

Available sections

AppcmdUI also shows you list of attributes, elements, collections when working with set/list commands. Adding a collection element is now a whole lot easier as you can see below.

Add Collection Element

List of attributes, elements, collections is also available when you work with “appcmd set <apppool|site|app|vdir”. In the snapshot below, I am getting attributes which can be set for a virtual directory.

vdir attributes Schema elements are available with various list commands as well after you type “-text:”. –text with list command allows you to print only particular attributes.

List properties

Hope you find working with appcmd much easier with this.

View the original post
Attachment: AppcmdUIInstall.zip

Comments

Great stuff Kanwal ... This is really cool stuff!  AppCmd should be much easier to navigate and use with this great stuff!

Apr 15 2007 by chrisad

Very cool tool, a must have for admins! Great shot Kanwaljeet!

Jun 07 2007 by jclauzel

Downloaded the latest version of this and the following two features don't work. Is there a newer copy than one available at blogs.iis.net/.../1666100.ashx

NEW - Up-down lets you browse recently executed commands.

NEW - If you run the application without sufficient privileges, it shows UAC dialog box for you to grant access.

Jan 11 2009 by MattDuguid

Just downloaded and had a quick play - Looks good so far! :)

Jul 13 2011 by Virgo139

I'm trying to use this for IIS Express 8RTM. I'm getting an error:

appcmd list site

C:\Windows\system32\inetsrv\appcmd.exe does not exist.

Nov 05 2013 by rscataran

Submit a Comment

  • Plain text is accepted.
  • URLs starting with http:// are converted to links.