2016-04-26 67 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」}

相關問題