2016-04-26 63 views
0

我想要从租户获取所有O365用户的列表以及分配给他们的单个许可证。输出需要采用以下格式(请注意,具有多个许可证的用户会多次列出):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将是一个很好的开始。

任何帮助,将不胜感激。

回答

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 
+0

谢谢你,完美的作品! – Steve

0

使用PowerShell 获取-MsolAccountSku

和 GET-MsolUser获得许可证的名单| Where-Object {($ _。licenses).AcountSkuId -match“EnterprisePremium”}

相关问题