社畜の所業

社畜の所業

Microsoft365の機能について解説をしていきたいと思います。このブログの情報をご活用いただければ幸いです。たまに他の情報も取り入れていきたいと思います。

※このサイトはPR記事を含みます。

【Office365参考書】ライセンスの特定のサービスが有効なユーザーを確認するには?

f:id:it-bibouroku:20200305151118j:plain

今回は、ライセンスに含まれている特定のサービスが有効なユーザーを一覧として取得する方法をご紹介したいと思います。

 

例えば、ExchangeOnlineが有効なユーザーやSharePointOnlineが有効なユーザーを確認する場合にご利用いただくことができます。

 

 

 


Windows PowerShell の接続 

Windows PowerShell を管理者として起動し、接続のため以下のコマンドレットを実行し、管理者ユーザーの ID とパスワードを入力します。  

   

【コマンドレット】  

Connect-MsolService  

   

 

対象サービスの ServiceName (サービス名)の確認 

 

1. 以下のコマンドレットを実行して、ご契約のライセンスの SkuPartNumber を取得します。  

   

【コマンドレット】 

Get-MsolAccountSku | Format-Table AccountSkuId,SkuPartNumber 

  

【実行結果例】 

AccountSkuId               SkuPartNumber 

------------              ------------- 

*****:ENTERPRISEPACK      ENTERPRISEPACK 

 

 [Office 365 Enterprise E3] の場合は、[ENTERPRISEPACK] と表示されます。 

   

【留意事項】  

・ 出力例の AccountSkuId や SkuPartNumber は、ご契約状況により表記が異なる可能性がございます。  

・ 上記の値は、予告なく変更される場合がありますので、都度ご確認いただけますようお願い申し上げます。  

   

docs.microsoft.com

   

 2. 上記で確認した SkuPartNumber を使用し、以下のコマンドレットを実行して、対象サービスの ServiceName を取得します。  

   

【コマンドレット】 

Get-MsolAccountSku | where {$_.SkuPartNumber -eq "<確認した SkuPartNumber の値>"} | foreach {$_.ServiceStatus} | foreach {$_.Serviceplan} | select servicename 

  

【実行例】※ Office 365 Enterprise E3 内のサービス内容を調べる場合の実行例です。 

Get-MsolAccountSku | where {$_.SkuPartNumber -eq "ENTERPRISEPACK"} | foreach {$_.ServiceStatus} | foreach {$_.Serviceplan} | select servicename 

  

【出力例】 

ServiceName 

----------- 

STREAM_O365_E3                 Microsoft Stream for O365 E3 SKU  

Deskless                       Microsoft StaffHub  

FLOW_O365_P2                   Flow for Office 365  

POWERAPPS_O365_P2              PowerApps for Office 365  

TEAMS1                         Microsoft Teams  

PROJECTWORKMANAGEMENT          Microsoft Planner 

SWAY                           Sway 

INTUNE_O365                    Mobile Device Management for Office 365 

YAMMER_ENTERPRISE              Yammer Enterprise 

RMS_S_ENTERPRISE               Azure Rights Management  

OFFICESUBSCRIPTION             Office 365 ProPlus  

MCOSTANDARD                    Skype for Business Online (プラン 2) 

SHAREPOINTWAC                  Office Online 

SHAREPOINTENTERPRISE           SharePoint Online (プラン 2) 

EXCHANGE_S_ENTERPRISE          Exchange Online (プラン 2) 

 

   

【説明】  

・ 実行例は、E3 に含まれるサービスの一覧を出力する場合の例です。  

・ Exchange Online (プラン 2) は [EXCHANGE_S_ENTERPRISE] と表示されます。  

   

【留意事項】  

・ ServiceName は、予告なく変更される場合がありますので、都度ご確認いただけますようお願い申し上げます。  

   

 

特定のサービスが有効になっているユーザーの出力 

以下のコマンドレットを実行して、指定したサービスが有効になっている、すべてのユーザーの情報を CSV ファイルに出力します。  

   

【コマンドレット】  

$skuList = @(); Get-MsolUser -All | % {$upn = $_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | % {$sku = $_.AccountSkuId; $_.ServiceStatus | ForEach-Object { $skuList += @{UserPrincipalName = $upn; DisplayName = $dpn; AccountSkuId = $sku; ServiceName = $_.ServicePlan.ServiceName; ProvisioningStatus = $_.ProvisioningStatus;} } } }; $skuList | Select-Object @{n="UserPrincipalName"; e={$_.UserPrincipalName}}, @{n="DisplayName"; e={$_.DisplayName}}, @{n="AccountSkuId"; e={$_.AccountSkuId}}, @{n="ServiceName"; e={$_.ServiceName}}, @{n="ProvisioningStatus"; e={$_.ProvisioningStatus}} | Where-Object {$_.ServiceName -eq "<対象サービスのServiceName>" -and $_.ProvisioningStatus -ne "Disabled"}  

   

【実行例】  

$skuList = @(); Get-MsolUser -All | % {$upn = $_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | % {$sku = $_.AccountSkuId; $_.ServiceStatus | ForEach-Object { $skuList += @{UserPrincipalName = $upn; DisplayName = $dpn; AccountSkuId = $sku; ServiceName = $_.ServicePlan.ServiceName; ProvisioningStatus = $_.ProvisioningStatus;} } } }; $skuList | Select-Object @{n="UserPrincipalName"; e={$_.UserPrincipalName}}, @{n="DisplayName"; e={$_.DisplayName}}, @{n="AccountSkuId"; e={$_.AccountSkuId}}, @{n="ServiceName"; e={$_.ServiceName}}, @{n="ProvisioningStatus"; e={$_.ProvisioningStatus}} | Where-Object {$_.ServiceName -eq "EXCHANGE_S_ENTERPRISE" -and $_.ProvisioningStatus -ne "Disabled"}  

   

【説明】  

・ 実行例は、テナント内の Exchange Online (プラン 2) が有効になっているすべてのユーザーを出力する場合の例です。  

・ 上記条件のユーザーがテナント内に存在しない場合は、結果の出力は行われません。  

・ 以下のような出力が行われた場合は、当該ユーザーに付与されているライセンス内の、Exchange Online (プラン 2) が有効になっております。  

   

【出力例】  

UserPrincipalName  : user@contoso.onmicrosoft.com  

DisplayName        : User  

AccountSkuId       : contoso::ENTERPRISEPACK  

ServiceName        : EXCHANGE_S_ENTERPRISE 

ProvisioningStatus : Success 

 

【補足事項】  

 [ProvisioningStatus (認証状態)] について 

[PendingProvisioning] … ライセンスが準備中の状態 

[PendingActivation] … ライセンス認証待ち状態 

[PendingInput] … ライセンスが付与されている状態で、そのサービスを使用するための準備が完了していない状態 

                  Office 365 上で [オン] になっている状態 

[Success]      … ライセンスが有効となっている状態 

                  Office 365  上で [オン] になっている状態 

[Disabled]     … ライセンスが無効となっている状態 

                 Office 365  上で [オフ] になっている状態