Applies to: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2009-06-05

This topic explains how to use the Exchange Management Shell to add permissions for users of client programs (such as Microsoft Outlook) to access and modify public folder content. When adding these permissions, you can either use predefined permission roles (which consist of specific access rights) or you can customize permissions by manually applying the available access rights. To specify the permissions for the client user, you can use the Add-PublicFolderClientPermission cmdlet or the AddUsersToPFRecursive.ps1 user management script. For more information about the permission roles and access rights, see Configuring Public Folder Permissions.

Note:
If a client user already has a specific access right to a public folder, you cannot add the same access right again. Therefore, if you use the AddUsersToPFRecursive.ps1 script, and the user already has one of the access rights that you are trying to grant, a warning will appear stating that the current access rights will be removed before new access rights are granted.

Before You Begin

Permissions and Prerequisites for the Release to Manufacturing (RTM) Version of Exchange 2007

To perform the following procedure in the RTM version of Exchange 2007, the account you use must be delegated the following:

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

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

Also, before you perform this procedure, be sure to read the topic Configuring Public Folder Permissions.

Permissions and Prerequisites for Exchange Service Pack 1 (SP1)

To perform following procedure in Exchange 2007 SP1, the account you use must be delegated the following:

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

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

Also, before you perform this procedure, be sure to read the topic Configuring Public Folder Permissions.

Procedure

To use the Exchange Management Shell to specify client access rights to a public folder by using the Add-PublicFolderClientPermission cmdlet

  • To add Publishing Editor permissions for the user Kim to access the public folder named West Coast, run the following command:

    Copy Code
    Add-PublicFolderClientPermission -Identity "\Marketing\West Coast" -AccessRights PublishingEditor -User Kim
    

For detailed syntax and parameter information, see Add-PublicFolderClientPermission.

To use the Exchange Management Shell to specify client access rights to a public folder by using the AddUsersToPFRecursive.ps1 management script

  • To add Reviewer permissions for the user David to access the top-level public folder named Sales and all of the public folders contained within the Sales tree, run the following command:

    Copy Code
    AddUsersToPFRecursive.ps1 -TopPublicFolder "\Sales" -User "David" -Permission Reviewer
    

For more information about how to use public folder management scripts, see Scripts for Managing Public Folders in the Exchange Management Shell.

For More Information

The Add-PublicFolderClientPermisson cmdlet also supports pipelining. Therefore, you can use this cmdlet to add many users to a particular public folder or to add users to many public folders. The following examples illustrate how to use pipelining with this cmdlet.

Examples

Example 1

The following command parses all the public folders in an organization to obtain the list of public folders that are named Sales. Then, the command assigns a user (Kim) the Reviewer role to each Sales public folder.

Copy Code
Get-PublicFolder '\' -recurse -resultsize unlimited| where { $_.Name -eq "Sales" } | Add-PublicFolderClientPermission -AccessRights Reviewer -User "Kim"
Note:
Pipelining supports objects and not only text strings. Therefore, you can use pipelining to perform complex operations. For examples of these operations, examine the contents of the %ProgramFiles%\Microsoft\Exchange Server\Scripts\AddUsersToPFRecursive.ps1 script.

Example 2

To add a distribution group to a public folder, use the same command as in Example 1. However, instead of specifying the user, specify the appropriate distribution group. The following command parses all the public folders in an organization to obtain the list of public folders that are named Sales. Then, the command assigns a distribution group (DG-1) the Reviewer role to each Sales public folder.

Copy Code
Get-PublicFolder '\' -recurse -resultsize unlimited| where { $_.Name -eq "Sales" } | Add-PublicFolderClientPermission -AccessRights Reviewer -User "DG-1"

To learn more about public folders, see Understanding Public Folders.

For more information about managing public folders, see Managing Public Folders.

For more information about configuring public folder permissions, see Configuring Public Folder Permissions.