0

无法处理参数“身份”的参数转换。无法将“System.Collections.ArrayList”类型的“System.Collections.ArrayList”值转换为“Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter”类型。是整个错误...

基本上,我们想将我们的 pub 文件夹迁移到共享框,我正在尝试获取现有结构的公共文件夹权限......

问题在于这里的最后一行......我不确定它为什么会抛出这个。我最初想绑定别名,而不是显示名称,但显然,显示名称有识别它们所需的空格......无论如何,这就是我卡住的地方......

$mepf     = Get-MailPublicFolder "Pub Folder Name" -ResultSize unlimited
$alias    = $mepf.displayname
$pf       = get-publicfolder -Recurse -ResultSize unlimited | ? {$_.Identity -match "$alias"}
$identity = $pf.Identity
$perms    = Get-PublicFolderClientPermission -Identity $pf.Identity | Where-Object {$_.User -notmatch "Default|Anonymous"} | Select-Object -ExpandProperty User
4

2 回答 2

2

$pf很可能包含多个文件夹,因此$pf.Identity将返回一组身份。

尝试管道输入:

get-publicfolder -Recurse -ResultSize unlimited |
   where {$_.Identity -match "$alias"} |
   Get-PublicFolderClientPermission | foreach {
       # do something with $_
   }
于 2021-10-15T20:39:14.697 回答
0

看起来它正在工作......谢谢,丹尼尔!

$mepf     = Get-MailPublicFolder "PubFolderName" -ResultSize unlimited
$alias    = $mepf.displayname
$pfs      = get-publicfolder -Recurse -ResultSize unlimited | ? {$_.Identity -match "$alias"}

foreach ($pf in $pfs){
$identity = $pf.Identity

$perms    = Get-PublicFolderClientPermission -Identity $pf.Identity | Where-Object {$_.User -notmatch "Default|Anonymous"} | Select-Object -ExpandProperty User

}

于 2021-10-15T21:04:01.853 回答