Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2

Topic Last Modified: 2012-11-19

Use the Import-TransportRuleCollection cmdlet to import a previously exported transport rule collection for use by the Transport Rules agent on a Microsoft Exchange Server 2010 Hub Transport or Edge Transport server. On Exchange 2010 Hub Transport servers, you can also use the cmdlet to import legacy transport rules exported from Exchange Server 2007 Hub Transport servers.


Import-TransportRuleCollection -FileData <Byte[]> [-Identity <RuleIdParameter>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-Organization <OrganizationIdParameter>] [-WhatIf [<SwitchParameter>]]

Detailed Description

Importing a transport rule collection from an XML file removes or overwrites all pre-existing transport rules that were defined for the Transport Rules agent. Make sure that you have a backup of your current transport rule collection before you import and overwrite your current transport rules.

On Hub Transport servers, the Import-TransportRuleCollection command overwrites all transport rules configured in the Exchange 2010 organization, except for transport rules on Edge Transport servers. On Edge Transport servers, this command overwrites transport rules configured on the local computer only.

In Exchange 2010, importing file data is a two-step process on all server roles except the Edge Transport server. For more information, see Understanding Importing and Exporting Files in the Exchange Management Shell.

For information about how to export a transport rule collection to an XML file, see Export-TransportRuleCollection.

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the "Transport rules" entry in the Messaging Policy and Compliance Permissions topic.


Parameter Required Type Description




The FileData parameter specifies the variable name that contains the content of the XML file. The content is retrieved using the Get-Content cmdlet in the first step of the two-step process used to import file content on a Hub Transport server.

For more information about the syntax required to use this parameter, see Understanding Importing and Exporting Files in the Exchange Management Shell.




The Confirm switch causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm switch.




The DomainController parameter specifies the fully qualified domain name (FQDN) of the domain controller that writes this configuration change to Active Directory. The DomainController parameter isn't supported on the Edge Transport server role. The Edge Transport server role writes only to the Active Directory Lightweight Directory Services (AD LDS) instance.




The Identity parameter specifies the transport rule to be imported. Enter either the GUID or the name of the rule. You can omit the parameter label.




This parameter is available for multi-tenant deployments. It isn't available for on-premises deployments. For more information about multi-tenant deployments, see Multi-Tenant Support.

The Organization parameter specifies the organization in which you'll perform this action. This parameter doesn't accept wildcard characters, and you must use the exact name of the organization.




The WhatIf switch instructs the command to simulate the actions that it would take on the object. By using the WhatIf switch, you can view what changes would occur without having to apply any of those changes. You don't have to specify a value with the WhatIf switch.

Input Types

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn’t accept input data.

Return Types

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn’t return data.



This example imports a transport rule collection from the XML file ExportedRules.xml.

Copy Code
[Byte[]]$Data = Get-Content -Path "C:\TransportRules\ExportedRules.xml" -Encoding Byte -ReadCount 0
Import-TransportRuleCollection -FileData $Data