PowerShell列出所有O365用户和相关许可证

时间:2016-04-26 14:19:17

标签: powershell office365 azure-powershell

我正在尝试获取租户中所有O365用户的列表,以及分配给他们的各个许可证。输出需要采用以下格式(请注意,多次列出具有多个许可证的用户):

UPN |执照 user1 | standardpack user1 | plannerstandalone user2 | enterprisepack user2 | power_bi_standard user2 | EMS

我可以使用此信息获取信息:

$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的东西将是一个很好的开始。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

试试这个

$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:\temp\o365licenses.csv -NoTypeInformation

start c:\temp\0365licenses.csv

答案 1 :(得分:0)

使用powershell获取许可证列表 得到-MsolAccountSku

和 Get-MsolUser | Where-Object {($ _。licenses).AccountSkuId -match“EnterprisePremium”}