2016-04-26 19 views
0

テナントからすべてのO365ユーザーの一覧と、割り当てられた個々のライセンスを取得しようとしています。出力は次の形式にする必要があります(複数のライセンスを持つユーザーは複数回リストされます)。PowerShellすべてのO365ユーザーと関連するライセンスの一覧表示

UPN |ライセンス user1 |標準パック user1 | plannerstandalone user2 |エンタープライズパック 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

PowerShellを使用したライセンスのリストを取得

-MsolAccountSkuを取得し、 は、Get-MsolUserをこの

$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

を試してみてください| Where-Object {($ _。licenses).AccountSkuId -Match "EnterprisePremium"}

関連する問題