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

Posted

技术标签:

【中文标题】如何从多个 Set 语句中选择值【英文标题】:How to select values from mulitple Get statements 【发布时间】:2019-03-26 23:24:42 【问题描述】:

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

以下是我试过的代码:

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

我知道,我可以通过使用 2 个不同的语句来获得结果,例如

Get-PublicFolder "Public FolderName" | select Identity,MailEnabled 

Get-PublicFolderStatistics "Public FolderName" | Select FolderPath, TotalItemSize

但是,当我需要超过 500 个公用文件夹的报告时,这并不理想。有人可以建议,如果有更好的方法来做到这一点?

【问题讨论】:

【参考方案1】:

如果不对其进行测试,使用 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)"
 

【讨论】:

以上是关于如何从多个 Set 语句中选择值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用PDO从SET类型列返回多个值?

如何在MVC 5中使用DropdownListFor在多个DropDownList中选择值

当方法包含多个具有多个返回的 if 语句时,如何从方法中获取返回值?

如何从两个选择语句中减去值

如何使用 MySQL 连接语句选择与链接表中的多个值匹配的记录?

如何从下拉列表中选择多个项目并将多个值插入 MYSQL