【发布时间】: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