在管道中显示两种方法

时间:2019-02-22 18:39:23

标签: powershell office365

我有这个一体机,可以将Outlook 365日历bookinpolicy从x.500格式转换为实际的可读名称:

((Get-CalendarProcessing dept-calendar-*).BookInPolicy | Get-DistributionGroup).name

我不知道如何也显示原始日历名称?现在,我得到了名称,但没有引用它所属的日历,例如:

dept-calendar-bookinpolicy-mgr
dept-calendar-bookinpolicy25-mgr
dept-calendar-bookinpolicy98-mgr

我希望它看起来像这样:

dept-calendar-room1
dept-calendar-bookinpolicy-mgr

dept-calendar-room6
dept-calendar-bookinpolicy25-mgr

dept-calendar-room8
dept-calendar-bookinpolicy98-mgr

2 个答案:

答案 0 :(得分:0)

用括号括起来就像使用Select-Object -ExpandProperty,因此您必须插入一个ForEach-Object

Get-CalendarProcessing dept-calendar-* | ForEach-Object{
   $_.BookInPolicy
  ($_.BookInPolicy | Get-DistributionGroup).Name
  ""
}

答案 1 :(得分:0)

在我的帮助下,我能够找到一种解决方法,所以我想我会回答自己的问题:

(Get-CalendarProcessing dept-calendar-*) | ForEach-Object { $_ | Add-Member NoteProperty "BookInPolicy_Group" "" -Force; if(-not [String]::IsNullOrWhiteSpace($_.BookInPolicy)){$_.BookInPolicy_Group = ($_.BookInPolicy | Get-DistributionGroup).Name} Write-Output $_} | Select-Object Identity,BookInPolicy_Group | Format-List

我能够通过上面的方法得到想要的东西。

Identity           : dept-calendar-room1
BookInPolicy_Group : dept-calendar-bookinpolicy-mgr

Identity           : dept-calendar-room6
BookInPolicy_Group : dept-calendar-bookinpolicy25-mgr

Identity           : dept-calendar-room8
BookInPolicy_Group : dept-calendar-bookinpolicy98-mgr

希望这对下一个人有帮助。