Applies to: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2007-01-02

This topic explains how to use the Exchange Management Shell to apply configuration settings to multiple Exchange servers simultaneously.

You cannot use the Exchange Management Console to perform this procedure.

In Microsoft Exchange Server 2003, you could create a group of servers and assign a policy to all the servers in that group. To do this in Exchange 2003, you created a new system policy container under Administrative Groups in Exchange System Manager, and then created server policies in that container. In Exchange Server 2007, you cannot create server policies. However, you can apply configuration settings to a group of Exchange 2007 servers by using the Exchange Management Shell. Also, to enforce the settings, you can schedule your configuration settings commands to run periodically.

Before You Begin

To run the Set-MailboxServer, Set-TransportServer, Set-UMServer, and Set-ClientAccessServer cmdlets, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for the target server

To run the Set-TransportServer cmdlet on a computer that has the Edge Transport server role installed, you must log on by using an account that is a member of the local Administrators group on that computer.

For more information about permissions, delegating roles, and the rights that are required to administer Exchange Server 2007, see Permission Considerations.


To use the Exchange Management Shell to apply configuration settings to multiple Exchange servers

  1. Run the Get-ExchangeServer cmdlet and pipe the output to the Where-Object cmdlet to filter the group of servers to which you want to apply the settings. Then pipe the output of the where clause to one of the following commands:

    • Set-MailboxServer

    • Set-TransportServer

    • Set-ClientAccessServer

    • Set-UMServer

    For example:

    Copy Code
    Get-ExchangeServer | where {$_.Domain -eq ""} | Set-MailboxServer -MAPIEncryptionRequired $true
  2. (Optional) Create a script with the preceding command. The file extension for the script file must be .ps1.

  3. (Optional) To schedule the script that you created in Step 2 to run periodically, use either the Microsoft Windows At.exe command or Windows Scheduled Tasks. If you add new servers to your organization, running the script periodically ensures that the new servers have the appropriate configuration settings applied to them.

For detailed syntax and parameter information, see the following reference topics:

For More Information

For more information about configuring server policies in Exchange 2003, see Configuring Exchange Server 2003 System Policies.