【问题标题】:Cannot process argument transformation on parameter 'Identity'无法处理参数“身份”的参数转换
【发布时间】:2021-11-22 16:11:02
【问题描述】:

好的,就是这个东西,就在这里... ο( >

 $PubFolder = "SomeMailEnabledFolder"
 Get-MailPublicFolder $PubFolder | Get-PublicFolder

应该是这样的。当。简单...

返回的错误:

无法处理参数“身份”的参数转换。无法将值“MyDomain/Microsoft Exchange System Objects/Mailbox Name”转换为 键入“Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter”。错误:“为参数“MyDomain/Microsoft Exchange System”提供的值 “对象/邮箱名称”的格式不正确。正确的格式是“”。”

我已经尝试了很多东西,比如在其中连接一个斜线,传递 $var.name 参数,向我的显示器投掷我最好的莎士比亚式侮辱等等......没有任何效果。

此时我已经准备好打海豚了……我觉得答案很简单,这会让我更加恼火,但这是我的人生。

我求求你...救救一只海豚(实际上,我可能不会赢得与海豚的战斗,但想想看),并伸出援助之手...

提前感谢你。

愿原力与你同在。

【问题讨论】:

  • Get-MailPublicFolder 的结果对象继承自具有 Identity 成员的 MailEnabledRecipient。我看不到Get-PublicFolder 的来源,但它可能没有将Identity 参数作为ValueFromPipelineByPropertyName。如果您传递Identity 参数是否有效 - Get-MailPublicFolder $PubFolder | % { Get-PublicFolder -Identity $_.Identity }(Get-MailPublicFolder $PubFolder).Identity | Get-PublicFolder
  • 测试中...敬请期待。
  • 第一位返回同样的错误。返回的第二位:输入对象不能绑定到命令的任何参数,因为命令不接受管道输入,或者输入及其属性不匹配任何接受管道输入的参数。
  • 只是一点背景知识。这是一个混合环境,但 PF 是本地的。我在本地连接...另外,有趣的是,get-mailpublicfolder 返回的身份和路径字段与文件夹的实际路径不匹配(我通过其他方式找到它)。返回的身份属性是 domain/Microsoft Exchange System Objects/mailbox,它并不表示实际位置。
  • 为什么不干脆做Get-PublicFolder -Mailbox $PubFolder?如果您希望所有邮件都启用公共文件夹,您可以这样做Get-PublicFolder -Recurse -ResultSize Unlimited | Where-Object { $_.MailEnabled -eq $true }

标签: powershell scripting exchange-server public-folders


【解决方案1】:

感谢Theo,将您的建议作为答案发布以帮助其他社区成员。

"你可以试试Get-PublicFolder -Mailbox $PubFolder, 如果你想启用所有邮件的公共文件夹,你可以做Get-PublicFolder -Recurse -ResultSize Unlimited | Where-Object { $_.MailEnabled -eq $true }"

有关更多信息,请参阅此 MS DOC:Cannot process argument transformation error for cmdlets

【讨论】:

  • 是的,有人会想...当我这样做时,它会返回,找不到收件人...我正在尝试根据电子邮件地址查找文件夹的父路径...
猜你喜欢
  • 2015-01-21
  • 2014-02-26
  • 2023-03-29
  • 2022-01-12
  • 2017-08-22
  • 2021-05-22
  • 2015-05-14
  • 2015-01-11
  • 1970-01-01
相关资源
最近更新 更多