首页 > 解决方案 > 将变量传递到命令末尾

问题描述

我需要获取 TotalDeletedItemSize 大于 10 GB 的所有 Exchange 用户邮箱(云)。这个脚本很好用:

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | 选择 DisplayName,TotalDeletedItemSize | 其中 {(($_.TotalDeletedItemSize -split " ")[0]) -gt 10}

但我还需要输出包含别名。如果我在 get-mailbox 之后使用 select 传递 ALIAS,则 Get-MailboxStatistics 会引发错误。

标签: powershell

解决方案


一种方法是使用 foreach 循环:

Foreach ($mb in (Get-Mailbox -ResultSize Unlimited)) {

   Get-MailboxStatistics $mb.GUID | select DisplayName,TotalDeletedItemSize,@{n="Alias";e={$mb.alias}} | Where {(($_.TotalDeletedItemSize -split " ")[0]) -gt 10}
}

推荐阅读