如何从多个Get语句中选择值

时间:2019-03-26 23:24:42

标签: powershell

我想从多个通过管道连接的get语句中选择值我想要一个报告,该报告显示了Get-PublicFolder中的Identity和MailEnabled字段以及Get-PublicFolderStatistics中的FolderPath和ItemCount。

以下是我尝试的代码:

end

我知道,我可以使用2种不同的语句来获得结果

sum

Get-PublicFolder -Recurse -resultsize unlimited | select Identity,MailEnabled  | Get-PublicFolderStatistics | Select FolderPath, TotalItemSize

但是,当我需要500个公用文件夹的此报告时,这不是理想的选择。有人可以请教一下,是否有更好的方法?

1 个答案:

答案 0 :(得分:0)

不进行测试,使用foreach和add-member应该会为您提供帮助。

Get-PublicFolder -Recurse -resultsize unlimited | select Identity,MailEnabled  |
Foreach-Object {
    $_.Identity | Add-Member -MemberType NoteProperty -Name "FolderPath" -Value "$((Get-PublicFolderStatistics $_.Identity | Select FolderPath).FolderPath)",
    $_.Identity | Add-Member -MemberType NoteProperty -Name "TotalItemSize" -Value "$((Get-PublicFolderStatistics $_.Identity | Select TotalItemSize).TotalItemSize)"
}