将新列添加到Select-Object -ExpandProperty

时间:2016-11-10 18:28:57

标签: powershell

我正在使用Azure AD,我正在获取特定许可证的服务列表及其状态,但我无法尝试获得所需的输出。

我正在使用的基本命令是:

((Get-MsolUser -UserPrincipalName $UPN).Licenses).Where{ $_.AccountSkuId -like $SkuId } | Select-Object -ExpandProperty ServiceStatus

产生与此类似的输出

ServicePlan           ProvisioningStatus
-----------           ------------------
TEAMS1                Disabled
PROJECTWORKMANAGEMENT Disabled
SWAY                  Disabled
INTUNE_O365           PendingActivation
YAMMER_ENTERPRISE     Disabled
RMS_S_ENTERPRISE      Disabled
OFFICESUBSCRIPTION    Success
MCOSTANDARD           Disabled
SHAREPOINTWAC         Success
SHAREPOINTENTERPRISE  Success
EXCHANGE_S_ENTERPRISE Success

当只有一个用户传入此代码所在的函数时,这很好,但是当传入更多用户而为每个用户打印一组不同的输出时,它只会再打印所有项目(减去标题)在一个巨大的名单中。

理想情况下,我希望在输出中添加另一列,但我没有取得多大成功。我尝试过使用一些计算属性,例如:

 ((Get-MsolUser -UserPrincipalName $UPN).Licenses).Where{ $_.AccountSkuId -like $SkuId } | Select-Object @{n='Name';e={$UPN}},@{n='ServicePlan';e={$_.ServiceStatus.ServicePlan.ServiceName}},@{n='ProvisioningStatus';e={$_.ServiceStatus.ProvisioningStatus}}

这种工作有点但不是得到一个很好的表,其中添加了一个列,UPN将Name,ServicePlan和Provisioning滚动到一个对象中,这些值为NoteProperties,当它显示时,它看起来像这样

Name             ServicePlan                                           ProvisioningStatus
----             -----------                                           ------------------
user1@domain.com {TEAMS1, PROJECTWORKMANAGEMENT, SWAY, INTUNE_O365...} {Disabled, Disabled, Disabled, PendingActivation...}
user2@domain.com {TEAMS1, PROJECTWORKMANAGEMENT, SWAY, INTUNE_O365...} {PendingProvisioning, Disabled, Disabled, PendingActivation...}

这可能很有用,但我现在有点迷失了,我怎么可能得到这样的信息呢

Name  ServicePlan           ProvisioningStatus
----  -----------           ------------------
user1 TEAMS1                Disabled
user1 PROJECTWORKMANAGEMENT Disabled
user1 SWAY                  Disabled
user1 ........................................

user2 TEAMS1                Disabled
user2 PROJECTWORKMANAGEMENT Disabled
user2 SWAY                  Disabled
user2 ........................................

或者喜欢

user1
ServicePlan           ProvisioningStatus
-----------           ------------------
TEAMS1                Disabled
PROJECTWORKMANAGEMENT Disabled
SWAY                  Disabled
........................................

user2
ServicePlan           ProvisioningStatus
-----------           ------------------
TEAMS1                Disabled
PROJECTWORKMANAGEMENT Disabled
SWAY                  Disabled
........................................

感谢您阅读我的长篇问题和任何回复。

0 个答案:

没有答案