Exchange PowerShell调用Get-PublicFolder时Identity参数转换错误如何解决
问题原因
Get-MailPublicFolder 返回对象的默认管道绑定属性与 Get-PublicFolder 要求的 Identity 参数格式不兼容:前者默认传递的是Exchange系统对象的AD可分辨名称,也就是你报错信息里的 MyDomain/Microsoft Exchange System Objects/xxx 格式的值,而后者仅接受公共文件夹的层级路径(如\根目录\子目录)、EntryId或Guid作为合法的Identity入参,因此触发格式校验错误。
解决方案
方案1:直接提取EntryId调用
EntryId是Exchange对象的通用唯一标识,可直接被所有公共文件夹相关命令识别:
$PubFolder = "SomeMailEnabledFolder" $mailPF = Get-MailPublicFolder $PubFolder Get-PublicFolder -Identity $mailPF.EntryId
方案2:适配管道写法
如果需要保留管道链式调用的写法,可以手动构造符合参数要求的Identity属性传递:
$PubFolder = "SomeMailEnabledFolder" Get-MailPublicFolder $PubFolder | Select-Object @{Name='Identity';Expression={$_.EntryId}} | Get-PublicFolder
如果后续需要用到公共文件夹的层级路径,调用完Get-PublicFolder后直接取返回对象的FolderPath属性即可。
内容的提问来源于stack exchange,提问作者Techknow
相关产品推荐
相关产品推荐

