将参数数据从一个输出插入另一个输出

时间:2013-08-14 18:15:25

标签: powershell exchange-server exchange-server-2010 office365

这是针对Exchange / Office 365 powershell,但也可以应用于其他类型。

如果我有一个用户列表,我使用UserPrincipalName作为他们的身份 - 现在在我的所有脚本中,我可以使用UserPrincipalName为身份提取数据,但在大多数{{1实际上不是可导出的值。因此,如果您使用下面的两个示例,我可以使用UserPrincipalName作为标识来提取数据,但在第二个示例中,输出将为空白。

如何将标识值UserPrincipalName插入到第二个中。这将适用于下面提到的两个以上的脚本。

UserPrincipalName

示例输出:

  

$CSV | foreach { Get-Mailbox -resultsize unlimited -Identity $_.UserPrincipalName } | select userprincipalname, server |out-gridview

UPN@something.com, server101

示例输出:

  

$csv | ForEach { Get-ActiveSyncDeviceStatistics -Identity:$_.UserPrincipalName } | select DeviceFriendlyName,UserPrincipalName |out-gridview

1 个答案:

答案 0 :(得分:0)

我手边没有Exchange,但很可能Get-Mailbox返回的对象确实有UserPrincipalName属性,而Get-ActiveSyncDeviceStatistics返回的对象则没有。要在第二个脚本的输出中保留UPN,您可以执行以下操作:

$csv | ForEach {
  $upn = $_.UserPrincipalName
  Get-ActiveSyncDeviceStatistics -Identity:$upn
} | select  DeviceFriendlyName,@{n='UserPrincipalName';e={$upn}} |out-gridview