导出具有不同数据的 CSV

Exporting CSV with different data

我正在尝试使用当前脚本通过 o365 提取许可信息:

Foreach($User in $Users){

$UPN = $User.UserPrincipalName
Get-MsolUser -UserPrincipalName "$UPN" | Select-Object DisplayName,Licenses | Export-Csv -Append -Path c:\test$exportpath.csv -NoTypeInformation 

}

我注意到我得到了两个不同的输出,每当我通过 ISE 运行 时,我都会得到以下信息:

但是,当我查看导出的 CSV 时,我得到以下信息:

所以我的问题是我究竟应该如何设置它以便在我提取信息并将其导出到 CSV 时它会捕获所有信息而不是简单地将其声明为通用列表?

您的许可证字段实际上是一个包含多个许可证的列表,您需要在导出到 csv 之前'expand'完成此操作。您应该能够使用 join 函数执行此操作,或者您可以遍历 foreach 循环。

Get-MsolUser -All | Select-Object office,@{name="licenses";expression={$_.licenses.accountskuid}},userprincipalname | Export-Csv .\licenses.csv -NoTypeInformation

或者您可以尝试使用此预建脚本来获取详细的许可信息: https://o365reports.com/2018/12/14/export-office-365-user-license-report-powershell/