Quick Question about shell command for PF
Hi All, Import-Csv "Input.csv" | foreach-Object { Remove-PublicFolderClientAccessPermissions -Identity $_.Identity -User $_.User -AccessRights CreateItems -confirm: $false }This will remove only createItems permissions and permissions after removal process is completedwill be custom.My question: Is there a command if i want to remove the entire ACE from the PF client permissions List instead of just changing the permission ?Thanks Shiv
July 13th, 2009 9:37am
Hi All, Import-Csv "Input.csv" | foreach-Object { Remove-PublicFolderClientAccessPermissions -Identity $_.Identity -User $_.User -AccessRights CreateItems -confirm: $false }This will remove only createItems permissions and permissions after removal process is completedwill be custom.My question: Is there a command to remove the entire ACE from the PF client permissions List instead of just changing the permission ?Thanks Shiv
Free Windows Admin Tool Kit Click here and download it now
July 13th, 2009 9:38am
You can use an inbuilt script to remove user permission from PF recursively...
Example:
RemoveUserFromPFRecursive.ps1 -Server "SERVERNAME" -TopPublicFolder -"\Sales\Oregon" -User "David"
Scripts for Managing Public Folders in the Exchange Management Shell
http://technet.microsoft.com/en-us/library/aa997966.aspx
Amit Tank | MVP Exchange Server | MCITP: EMA | MCSA: M | http://ExchangeShare.WordPress.com
July 13th, 2009 9:58am
Hi Amit, This is used to replace an user with another user across the tree. What iam looking for is delete the access control entry listed in one public folder or set of public folders. I do not want to change permission levels of the user access control entry added in client permissions tab of the public folder property. I am looking to completly delete the entry from client permissions tab rather than changing the permission levels. Is there a shell command to achieve this ?Thanks for all your helpRegards Shiv
Free Windows Admin Tool Kit Click here and download it now
July 13th, 2009 11:09pm
I guess you would have usedReplaceUserWithUserOnPFRecursive.ps1but I am asking to look forRemoveUserFromPFRecursive.ps1 :)Amit Tank | MVP Exchange Server | MCITP: EMA | MCSA: M | http://ExchangeShare.WordPress.com
July 14th, 2009 10:10am
Hi Amit,
This is very useful script however i cannot use it for my task.
In my scenario i dont want to remove one particular user across the tree. I want to remove all the users who have permissions on a set of few thoudsand random folders.
I usually do it as stated above(i keep changing the accessrightsvalue to createsubfolders, folderowner etc etc ) and run thesame command,which will set the permissions to custom and users will no longer be able to access the public folder. This is lot of manual work when i am working on tree which has close to 30,000 PF's even by using the boave command. Is there a way i can get rid of all the users in the clientpermissions tab. I tried a simple command like get-publicfolder -identity "\Test\test1" | remove-publicfolderclientpermissions -user shivIt throws error saying cannot bind .....etc etc. Botttom line the syntax is not complete without the accessrights to be removed being mentioned. Any help in this would be appreciated!Thanks Shiv
Free Windows Admin Tool Kit Click here and download it now
July 30th, 2009 12:37am
This might be possible but need to develop a script for it, why don't you try in Development forum to get powershell programming help...
Also PFDavAdmin is the GUI way to Add/Remove permission from public folder recursively if you are familiar with it...Amit Tank | MVP Exchange Server | MCITP: EMA | MCSA: M | http://ExchangeShare.WordPress.com
July 30th, 2009 8:20am
Hi Amit,
Thank you for directing me to the right forum.
Thanks again
Shiv
Free Windows Admin Tool Kit Click here and download it now
July 30th, 2009 11:57am
Hi,
You can remove client permissions from all public folders for all users in bulk using following script
$AllPFs = Get-publicFolder '\Sales' -recurse
foreach($pf in $AllPFs){
Get-PublicFolderClientPermission $pf | Foreach{ Remove-PublicFolderClientPermission $_.Identity -User $_.User -AccessRights $_.AccessRights }
}
Save it in .ps1 file and run in EMS.
Please add -confirm:$false to Remove-PublicFolderClientPermission if you dont want it to ask for Confirmation like this.
Remove-PublicFolderClientPermission $_.Identity -User $_.User -AccessRights $_.AccessRights-confirm:$false
It will remove all permissions for all users on '\Sales' and all its child Public Folders.
Regards,
Laeeq Qazi|Snr Software Engineer(Exchange + Sharepoint + BES + DynamicsCRM)
www.hostingcontroller.com
July 30th, 2009 12:45pm