Export (0) Print
Expand All
Expand Minimize



Topic Last Modified: 2012-03-27

Modifies property values for a domain (or domains) included on the list of domains approved for federation. After a domain has been approved for federation (by being added to the allowed list), your users can exchange instant messages and presence information with people who have accounts in the federated domain.

Set-CsAllowedDomain [-Identity <XdsGlobalRelativeIdentity>] [-Comment <String>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-MarkForMonitoring <$true | $false>] [-ProxyFqdn <String>] [-WhatIf [<SwitchParameter>]]
Set-CsAllowedDomain [-Comment <String>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-Instance <PSObject>] [-MarkForMonitoring <$true | $false>] [-ProxyFqdn <String>] [-WhatIf [<SwitchParameter>]]

Federation is a means by which two organizations can set up a trust relationship that facilitates communication between the two groups. When federation has been established, users in the two organizations can send each other instant messages, subscribe for presence notifications, and otherwise communicate with one another by using SIP applications such as Microsoft Lync 2010. Microsoft Lync Server 2010 allows for three types of federation: 1) direct federation between your organization and another; 2) federation between your organization and a public provider; and, 3) federation between your organization and a third-party hosting provider.

Setting up direct federation with another organization involves several tasks. To begin with, you must enable your servers running the Lync Server Access Edge service to allow federation. In addition, the other organization must enable federation with you; federation cannot be established unless both parties agree to the relationship.

To set up a federated relationship you might also need to manage two federation-related lists: the allowed list and the blocked list. The allowed list represents the organizations you have chosen to federate with. If a domain appears on the allowed list then (depending on your configuration settings) your users will be able to exchange instant messages and presence information with users who have accounts in that federated domain. Conversely, the blocked list represents domains that users are expressly forbidden from federating with; for example, messages sent from a blocked domain will automatically be rejected by Lync Server 2010.

The Set-CsAllowedDomain cmdlet provides a way for you to modify property values for any domain on the list of allowed domains.

Who can run this cmdlet: By default, members of the following groups are authorized to run the Set-CsAllowedDomain cmdlet locally: RTCUniversalServerAdmins. To return a list of all the role-based access control (RBAC) roles this cmdlet has been assigned to (including any custom RBAC roles you have created yourself), run the following command from the Windows PowerShell prompt:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Set-CsAllowedDomain"}


Parameter Required Type Description




Fully qualified domain name (FQDN) of the allowed domain for which the property values are being modified. For example:

-Identity fabrikam.com



Blocked Domain object

Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values.




Optional string value that provides additional information about the domain being modified. For example, you might add a Comment that provides contact information for the federated domain.




Indicates whether the federation connection between your domain and the remote domain will be monitored by Monitoring Server. By default, MarkForMonitoring is set to False, meaning that the connection will not be monitored.

This property will be ignored if you have not deployed Monitoring Server.




Fully qualified domain name (for example, proxy-server.fabrikam.com) of the SIP proxy server deployed in the domain being added to the allowed list. This property is optional: if it is not specified then DNS SRV discovery procedures will be used to determine the location of the SIP proxy server.



Switch Parameter

Suppresses the display of any non-fatal error message that might occur when running the command.



Switch Parameter

Describes what would happen if you executed the command without actually executing the command.



Switch Parameter

Prompts you for confirmation before executing the command.

Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowedDomain object. Set-CsAllowedDomain accepts pipelined instances of the allowed domain object.

Set-CsAllowedDomain does not return a value or object. Instead, the cmdlet configures instances of the Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowedDomain object.

-------------------------- Example 1 ------------------------

Set-CsAllowedDomain -Identity fabrikam.com -Comment "Contact: Ken Myer (kenmyer@fabrikam.com)"

The command shown in Example 1 modifies the Comment property for the allowed domain with the Identity "fabrikam.com". This is done by including the Comment parameter and the appropriate parameter value: "Contact: Ken Myer (kenmyer@fabrikam.com)".

-------------------------- Example 2 ------------------------

Get-CsAllowedDomain -Filter *fabrikam* | Set-CsAllowedDomain -Comment "Contact: Ken Myer (kenmyer@fabrikam.com)" -MarkForMonitoring $True

The preceding command modifies the Comment and MarkForMonitoring properties for all of the allowed domains that have the string value "fabrikam" somewhere in their Identity. To carry out this task, the command first calls Get-CsAllowedDomain and the Filter parameter. The filter value "*fabrikam*" instructs Get-CsAllowedDomain to return any domain where the Identity includes the string value "fabrikam". (For example, this command returns domains such as fabrikam.com, us.fabrikam.net, and fabrikam-users.org). The filtered collection is then piped to Set-CsAllowedDomain, which modifies for Comment property and sets the MarkForMonitoring property to True ($True) for each item in the collection.

-------------------------- Example 3 ------------------------

Get-CsAllowedDomain | Where-Object {$_.MarkForMonitoring -eq $False} | Set-CsAllowedDomain -MarkForMonitoring $True

The command shown in Example 3 modifies all of the domains on the allowed list that are not currently monitored by Monitoring Server. (That is, all of the domains where the MarkForMonitoring property is set to False.) To do this, Get-CsAllowedDomain is called without any additional parameters in order to retrieve a collection of all the domains on the allowed list. That collection is piped to the Where-Object cmdlet, which selects only those domains where MarkForMonitoring is equal to False. The filtered collection is then piped to Set-CsAllowedDomain, which sets the MarkForMonitoring property for each domain in the collection to True.

-------------------------- Example 4 ------------------------

Get-CsAllowedDomain | Where-Object {$_.Comment -eq $Null} | Set-CsAllowedDomain -Comment "Need contact information."

Example 4 adds a generic comment ("Need contact information.") to each domain on the allowed list where the Comment property currently has no value. To carry out this task, the command first calls Get-CsAllowedDomain to retrieve a collection of all the domains on the allowed list. This collection is then piped to Where-Object, which picks out those domains where the Comment property is equal to a null value. That filtered collection is then piped to Set-CsAllowedDomain, which modifies the Comment property for each item in the collection.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft