【问题标题】:Getting Calculated Expression to Display Properly in Powershell Exchange Command让计算表达式在 Powershell Exchange 命令中正确显示
【发布时间】:2016-08-24 16:51:20
【问题描述】:

所以我有一个命令来查看我的环境中的所有邮箱,并返回不是该特定邮箱的“联系人”文件夹的任何文件夹中最旧的项目。除了我在命令末尾输入的计算表达式之外,整个事情似乎都有效:

@{Name="Address";Expression={Get-Mailbox | ForEach-Object {$_.PrimarySmtpAddress}

问题是这似乎返回了每个行/对象的每个 Smtp 地址,而不是每个行/对象一个 Smtp 地址。

这是整个命令:

Get-Mailbox | ForEach-Object {Get-MailboxFolderStatistics -IncludeOldestandNewestItems -Identity $_.Alias | Where-Object {($_.OldestItemReceivedDate -ne $null) -and ($_.FolderPath -ne "/Contacts")} | Sort OldestItemReceivedDate | Select First 1 OldestItemReceivedDate, Identity, @{Name="Address";Expression={Get-Mailbox | ForEach-Object {$_.PrimarySmptAddress}}}}

理想情况下,这将返回最旧项目的日期、找到它的文件夹和主 SMTP 地址,但它似乎不会只提取相应的 SMTP 地址。看起来它每次迭代都在提取每个主 SMTP 地址。我确定这与我的命令有关,但我不知道在哪里。任何帮助将不胜感激。

【问题讨论】:

    标签: email powershell exchange-server


    【解决方案1】:

    计算表达式可以访问当前管道对象。但是,您在创建表达式时并没有使用它。如您所见,您只是为每个用户调用 每个 邮箱。将当前管道对象与$_ 一起使用。 Get-Mailbox 足够聪明,可以通过属性名称匹配所需的值。

     @{Name="Address";Expression={Get-Mailbox $_ | ForEach-Object {$_.PrimarySmtpAddress}}}}
    

    但是,您也许可以通过不同的方式来解决这个问题。您已经在管道开始时调用了所有邮箱。再次调用它没有意义。

    Get-Mailbox | Select-Object Identity, @{Name="Address";Expression={$_.PrimarySmtpAddress}}, @{Name="OldestItemReceivedDate";Expression={
        Get-MailboxFolderStatistics -IncludeOldestandNewestItems -Identity $_.Alias | Where-Object {
                ($_.OldestItemReceivedDate -ne $null) -and ($_.FolderPath -ne "/Contacts")} | 
                Sort-Object OldestItemReceivedDate | 
                Select-Object -ExpandProperty OldestItemReceivedDate -Last 1      
    }}
    

    现在我们有 2 个计算属性,我们只需要为每个用户调用一次 Get-Mailbox。你有一些我试图修复的拼写错误和逻辑错误。你会知道它是否做你想做的事。

    【讨论】:

    • 这正是我所需要的!我不得不重新配置它以显示要显示的文件夹路径,因为它显示了 Get-Mailbox 中的 Identity 属性,但这没什么大不了的。谢谢!
    • @user3591385 很高兴我能提供帮助。如果对您有帮助,请考虑将此答案标记为已接受。
    猜你喜欢
    • 2019-04-13
    • 2021-11-14
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多