Applies to: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2006-08-10

A cmdlet, pronounced "command-let", is the smallest unit of functionality in the Microsoft Exchange Management Shell. Cmdlets resemble built-in commands in other shells, for example, the dir command found in cmd.exe. Like these familiar commands, cmdlets can be called directly from the command line in the Exchange Management Shell and run under the context of the shell, not as a separate process.

Cmdlets are usually designed around repetitive administrative tasks, and, in the Exchange Management Shell, more than 360 cmdlets are provided for Exchange-specific management tasks. These are available in addition to the non-Exchange system administrative cmdlets included in the basic Microsoft Windows PowerShell shell design.

To access Exchange Management Shell cmdlets, you must load the Exchange Management Shell from the Microsoft Exchange Server 2007 program menu.

All cmdlets in the Exchange Management Shell are presented in verb-noun pairs. The verb-noun pair is always separated by a hyphen (-) without spaces, and the cmdlet nouns are always singular. Verbs refer to the action that the cmdlet takes. Nouns refer to the object on which the cmdlet takes action. For example, in the Get-SystemMessage cmdlet, the verb is Get, and the noun is SystemMessage. All Exchange Management Shell cmdlets that manage a particular feature share the same noun. Table 1 provides examples of some of the verbs available in the Exchange Management Shell.

By default, if the verb is omitted, the Exchange Management Shell assumes the Get verb. For example, when you call Mailbox, you retrieve the same results as when you call Get-Mailbox.

Table 1   Examples of verbs in the Exchange Management Shell

Verb Description


Disable cmdlets set the Enabled status of the specified Exchange 2007 object to $False. This prevents the object from processing data even though the object exists.


Enable cmdlets set the Enabled status of the specified Exchange 2007 object to $True. This enables the object to process data.


Get cmdlets retrieve information about a particular Exchange 2007 object.

Most Get cmdlets only return summary information when you run them. To tell the Get cmdlet to return verbose information when you run a command, pipe the command to the Format-List cmdlet. For more information about the Format-List command, see Working with Command Output. For more information about pipelining, see Pipelining.


Install cmdlets install a new object or feature on an Exchange 2007 server.


Move cmdlets relocate the specified Exchange 2007 object from one container or server to another.


New cmdlets create new Exchange 2007 object.


Remove cmdlets delete the specified Exchange 2007 object.


Set cmdlets modify the properties of an existing Exchange 2007 object.


Test cmdlets test specific Exchange 2007 components and provide log files that you can examine.


Uninstall cmdlets remove an object or feature from an Exchange 2007 server.

The following list of cmdlets is an example of a complete cmdlet set. This cmdlet set is used to manage the delivery status notification (DSN) message and mailbox quota message features of Exchange 2007: