PowerShell在protocolSettings上获取邮箱筛选器

PowerShell在protocolSettings上获取邮箱筛选器,powershell,active-directory,exchange-server-2010,Powershell,Active Directory,Exchange Server 2010,get mailbox的protocolSettings属性可以返回多个值,具体取决于启用或禁用的内容。默认情况下,创建新用户时,在启用或禁用属性之前,这些属性都不存在 我想使用-filter从Get-Mailbox返回所有protocolSettings,以优化命令,不通过管道传输到Where或Select。这将减少在使用管道之前返回的记录数量 Piping Select将为我提供输出,但同样,我希望避免使用管道并使用-filter: Get-Mailbox | select Protoco

get mailbox的protocolSettings属性可以返回多个值,具体取决于启用或禁用的内容。默认情况下,创建新用户时,在启用或禁用属性之前,这些属性都不存在

我想使用-filter从Get-Mailbox返回所有protocolSettings,以优化命令,不通过管道传输到Where或Select。这将减少在使用管道之前返回的记录数量

Piping Select将为我提供输出,但同样,我希望避免使用管道并使用-filter:

Get-Mailbox  | select ProtocolSettings

{MAPI§1§§§§1§§§, HTTP§0§1§§§§§§, OWA§0, RemotePowerShell§1}
有没有一种方法可以使用-filter返回我在Select管道中获得的内容

我试过:

Get-Mailbox  -Filter {(ProtocolSettings)}
Cannot bind parameter 'Filter' to the target. Exception setting "Filter":
 "Invalid filter syntax
有人知道从-filter参数返回所有协议设置的方法吗

我使用的完整命令如下:

get-mailbox -OrganizatinalUnit 'OU=test,DC=Domain,DC=com' `
-filter {(CustomAttribute14 -eq 'Test') -and (ProtocolSettings)}

并非所有属性都是可筛选的

以下是Exchange 2010的可筛选属性的示例:

也就是说,您可以使用文本比较(如,匹配等)从get-mailbox对该属性进行后期筛选。各个协议将作为单个属性公开,并在get-mailbox中启用布尔设置