How to Add Permissions for Client Users to Access Public Folder Content
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. |
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.
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.
For detailed syntax and parameter information, see Add-PublicFolderClientPermission.
For more information about how to use public folder management scripts, see Scripts for Managing Public Folders in the Exchange Management Shell.
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.
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.
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.
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.
I fixed it by following these instructions:
http://technet.microsoft.com/en-us/library/bb125099%28EXCHG.65%29.aspx
- 4/30/2010
- Nathan O.
Hi,
if a folder has blancs you must add a ' between the "" (for. example: "'test folder'")
I gave the path as "'\xyz team folders\project country'" but still it didn't work. Any clue!
It doesn't work, even with the extra single quotes. This (The entire PowerShell thing) seems half baked to me. Why not include more functionality in the management GUI instead of reducing it? It just makes my job that much harder.
- 9/4/2008
- ullifichte
- 1/11/2010
- Max Wyatt
Line 122 should be changed from:
$getpfcmd = "get-publicfolder -server $Server -identity $TopPublicFolder -Recurse -resultsize unlimited"to:
$getpfcmd = "get-publicfolder -server $Server -identity ""$TopPublicFolder"" -Recurse -resultsize unlimited"
Line 126 should also be changed from:
$getpfcmd = "get-publicfolder -identity $TopPublicFolder -Recurse -resultsize unlimited"to
$getpfcmd = "get-publicfolder -identity ""$TopPublicFolder"" -Recurse -resultsize unlimited"With these changes, the script should function as expected.
- 9/11/2009
- DPinckard
AddUsersToPFRecursive.ps1 -TopPublicFolder "\Sales Receipts" -User "David" -Permission ReviewerGives the error
Get-PublicFolder : A parameter cannot be found that matches parameter name 'Receipts'.
At line:1 char:17
+ get-publicfolder <<<< -identity \Sales Receipts -Recurse -resultsize unlimitedThe only solution was to simplify the name to \Sales make the change then return the name to \Sales Receipts
- 8/21/2008
- RISNet

Note: