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

By simon at 2018-02-28 • 0人收藏 • 72人看过

我试图从租户和个人中获得所有O365用户的列表 授予他们的许可证。输出needs在下面 格式(请注意,具有多个许可证的用户会多次列出): UPN |许可证user1 |小号tandardpack user1 | plannerstandalone user2 | enterprisepack user2 | powerbistandard user2 | EMS 我可以得到usi的信息这个:

$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的东西 将是一个很好的开始。 任何帮助,将不胜感激。

3 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

尝试这个

$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

2018-02-28   #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

2018-02-28   #3

使用PowerShell Get-MsolAccountSku获取许可证列表 和Get-MsolUser | Where-Object {($ _。licenses).AccountSkuId -match“EnterprisePremium”}

登录后方可回帖

Loading...