繁体   English   中英

公共文件夹删除所有用户的所有权限

[英]Public folders remove all permissions for all users

我有数百个公共文件夹,我需要删除每个文件夹的所有现有用户权限,然后为默认和匿名添加新权限。 一些用户不存在,或被禁用。

这是我写的ps1文件:

param (
  [string] $pf='\Clients'
)
$children = Get-PublicFolder -Identity $pf –Recurse
$children | % {
  $Perm = Get-PublicFolderClientPermission $_.Identity
  $Perm | % {
    Remove-PublicFolderClientPermission -Identity $_.Identity -User $_.User -Confirm:$false
  }
  Remove-PublicFolderClientPermission -Identity $_.Identity -User Default -Confirm:$false
  Add-PublicFolderClientPermission -Identity $_.Identity -User Default -AccessRights Owner
  Remove-PublicFolderClientPermission -Identity $_.Identity -User Anonymous -Confirm:$false
  Add-PublicFolderClientPermission -Identity $_.Identity -User Anonymous -AccessRights Contributor
}

错误是:

Cannot process argument transformation on parameter 'User'. Cannot convert value
"Default" to type
"Microsoft.Exchange.Management.StoreTasks.MailboxFolderUserIdParameter".
Error: "Cannot convert hashtable to an object of the following type:
Microsoft.Exchange.Management.StoreTasks.MailboxFolderUserIdParameter.
Hashtable-to-Object conversion is not supported in restricted language mode or a
Data section."
    + CategoryInfo          : InvalidData: (:) [Remove-PublicFolderClientPermission], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Remove-PublicFolderClientPermission
    + PSComputerName        : outlook.office365.com

此错误是针对“默认”的,存在的普通用户帐户也发生了同样的事情。

第 8 行的$_.User不会解析为用户。 有什么想法吗?

您需要将$_.User替换$_.User $_.User.DisplayName

我知道它是很久以前发布的,但它仍然具有相关性。

相同的解决方案:

    $a= Get-publicFolder \ -recurse -resultsize unlimited 
    $b= $a | Get-PublicFolderClientPermission
    foreach ($pfper in $b) {
    write-host $pfper.User.DisplayName $pfper.Identity ;  Remove-PublicFolderClientPermission $pfper.Identity -User $pfper.User.DisplayName -Confirm:$false}
    Get-PublicFolder \ -Recurse | Add-PublicFolderClientPermission -User Anonymous -AccessRights None
    Get-PublicFolder \ -Recurse | Add-PublicFolderClientPermission -User Default -AccessRights None

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM