【问题标题】:Exporting CSV with different data导出具有不同数据的 CSV
【发布时间】:2019-09-06 10:20:02
【问题描述】:

我正在尝试使用当前脚本通过 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 时,它将捕获所有信息,而不是简单地将其声明为通用列表?

【问题讨论】:

  • 要么使用计算属性加入 Select-Object 中的许可证,要么使用另一个 foreach 对其进行迭代,以便为每个许可证设置单独的行。
  • @LotPings 我觉得更好的选择是计算属性,有点不确定如何解决这个问题所以去谷歌看看

标签: powershell office365


【解决方案1】:

您的许可证字段实际上是多个许可证的列表,您需要在导出到 csv 之前将其“展开”。您应该可以使用连接函数来执行此操作,或者您可以遍历 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/

【讨论】:

    猜你喜欢
    • 2020-02-25
    • 1970-01-01
    • 2017-10-06
    • 2019-01-03
    • 1970-01-01
    • 2021-05-26
    • 2021-12-05
    • 2021-12-07
    • 2016-02-05
    相关资源
    最近更新 更多