我正在尝试从租户获取所有 O365 用户的列表,以及分配给他们的单个许可证。输出需要采用以下格式(请注意,具有多个许可证的用户会多次列出):
UPN |许可证用户1 |标准包用户1 |规划器独立用户2 |企业包用户2 |power_bi_standard用户2 |特快专递
我可以使用这个来获取信息:
$groupOfUsers = Get-MsolUser -all | where { $_.IsLicensed -eq $True }
$licenses = foreach ($individual in $groupOfUsers)
{
$allLicenses = $individual.licenses | Select -ExpandProperty AccountSkuId
foreach ($lic in $allLicenses)
{ write-host = $individual.UserPrincipalName $lic }
}
我想做的是将此输出采用我最终可以导入到 SQL 中的格式 - 因此表格格式或我可以导出为 csv 的东西将是一个很好的开始。
任何帮助将不胜感激。
试试这个
$groupOfUsers = Get-MsolUser -all | where { $_.IsLicensed -eq $True }
$results = foreach ($user in $groupOfUsers) {
$licenses = $user.licenses.accountskuid
foreach ($license in $licenses) {
[pscustomobject]@{
UPN = $user.userprincipalname
License = $license
}
}
}
$results
$results | Export-Csv c:tempo365licenses.csv -NoTypeInformation
start c:temp 365licenses.csv
使用 PowerShell 获取许可证列表Get-MsolAccountSku
和获取-MsolUser |Where-Object {($_.licenses).AccountSkuId -match "EnterprisePremium"}