【问题标题】:Public folders remove all permissions for all users公用文件夹删除所有用户的所有权限
【发布时间】:2017-02-04 12:24:41
【问题描述】:

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

这是我写的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
}

错误是:

无法处理参数“用户”的参数转换。无法转换价值
“默认”键入
“Microsoft.Exchange.Management.StoreTasks.MailboxFolderUserIdParameter”。
错误:“无法将哈希表转换为以下类型的对象:
Microsoft.Exchange.Management.StoreTasks.MailboxFolderUserIdParameter。
受限语言模式或不支持 Hashtable 到对象的转换
数据部分。”
    + CategoryInfo : InvalidData: (:) [Remove-PublicFolderClientPermission], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Remove-PublicFolderClientPermission
    + PSComputerName:outlook.office365.com

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

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

【问题讨论】:

    标签: powershell exchange-server


    【解决方案1】:

    您需要将$_.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
    

    【讨论】:

    • 感谢您的回复。这不适用于已删除的用户 没有找到用户的现有权限条目:FirstName LastName。 + CategoryInfo : NotSpecified: (:) [Remove-PublicFolderClientPermission], UserNotFoundInPermissionEntryException + FullyQualifiedErrorId : [Server=SG2PR01MB2093,RequestId=9ba3662f-d53a-464e-96f9-f3cc2a9c0ba5,TimeStamp=29/7/2019 1:40:14 PM] [ FailureCategory=Cmdlet-UserNotFoundInPermissionEntryException] E7D8880C,Microsoft.Exchange.Management.StoreTasks.RemovePublicFolderClientPermission + PSComputerName:outlook.office365.com
    猜你喜欢
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 2011-12-14
    • 2018-04-19
    • 2014-07-25
    • 2014-10-19
    • 1970-01-01
    相关资源
    最近更新 更多