Office365ライセンスのサービスの詳細をPowerShellで一括有効化した後の確認方法(Microsoft Teamsの場合)

2022/08/22
 
この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

概要

PowerShellを使用して一括でライセンスを有効化(Microsoft Teamsの場合)した場合、 本当にライセンスが有効化されているか確認する必要があります。

参考:Office365ライセンスのサービスの詳細をPowerShellを使用して一括で有効化する方法(Microsoft Teamsの場合)

その際に User Principal Name を複数記載したファイルを引数として、PowerShellスクリプトを実行することで確認が可能です。

スクリプトファイルの作成

以下がスクリプトファイルの内容です。今回はファイル名を License_Check.ps1 として保存します。※ブラウザによるとうまく折り返して表示されない場合があります。

License_Check.ps1

$skuList = @(); Import-CSV "D:\test\testuser.csv" | Get-msoluser | % {$upn = $_.UserPrincipalName; $dpn =$_.DisplayName; $_.Licenses | % {$sku = $_.AccountSkuId; $_.ServiceStatus| ForEach-Object { $skuList += @{UserPrincipalName = $upn; DisplayName = $dpn; AccountSkuId = $sku; ServiceName = $_.ServicePlan.ServiceName; ProvisioningStatus = $_.ProvisioningStatus;} } } }; $skuList | select @{n="UserPrincipalName"; e={$_.UserPrincipalName}},@{n="DisplayName"; e={$_.DisplayName}}, @{n="AccountSkuId"; e={$_.AccountSkuId}}, @{n="ServiceName"; e={$_.ServiceName}}, @{n="ProvisioningStatus"; e={$_.ProvisioningStatus}} | Where-Object {$_.ServiceName -eq "TEAMS1" } | Export-Csv -Encoding UTF8 "D:test\TestUserLicense.csv"-NoTypeInformation

自身の環境に合わせて変更して利用してください。前から順に変更が必要な個所を記載します。

▼Import-CSV “D:\test\testuser.csv”
ダブルクォーテーションの間のパスとCSVファイル名を自身の環境に合わせて変更してください。
ここでの testuser.csv は、確認したいユーザーの User Principal Name を記載します。

▼Where-Object {$_.ServiceName -eq “TEAMS1” }
ダブルクォーテーションの間のサービスの詳細名を有効化したライセンスに合わせて変更してください。
今回は、Microsoft Teams を一括有効化したので そのサービスの詳細名である “TEAMS1” を記載しています。

▼Export-Csv -Encoding UTF8 “D:test\TestUserLicense.csv”
ダブルクォーテーションの間のパスとCSVファイル名を自身の環境に合わせて変更してください。
結果が出力されるファイルです。

確認したいユーザーのUPN(User Principal Name)を記載するファイルの作成

今回は、testuser.csv としています。
1行目に UserPrincipalName と記載してください。
2行目以降は、確認したいUser Principal Name を1行につき、1つ記載します。

testuser.csv

UserPrincipalName
testuser01@example.com
testuser02@example.com
testuser03@example.com
testuser04@example.com
testuser05@example.com

AzureActiveDirectoryへコマンドで接続

スクリプトファイルを実行する前にAzureActiveDirectoryへコマンドで接続しておきます。
Windows PowerShell コマンド プロンプトを管理者で実行し、以下コマンドを入力します。

Connect-MsolService

認証ウィンドウが表示されるのでOffice365管理者権限ユーザーのID、パスワードで認証します。

エラーなくWindows PowerShell のプロンプトが返されれば接続完了です。

スクリプトファイルの実行

スクリプトファイルとUPNを記載したファイルを同じフォルダ内(例:D:\test)に保存します。

Windows PowerShell でスクリプトファイルなどが保存されたフォルダへ移動します。(例:cd D:\test)

以下コマンドでスクリプトファイルを実行すると、ライセンス状況などがTestUserLicense.csv へ出力されます。

\License_Check.ps1

出力されたファイルの見方

出力されたファイルのサンプルは以下のとおりです。

TestUserLicense.csv

"UserPrincipalName","DisplayName","AccountSkuId","ServiceName","ProvisioningStatus"
"testuser01@example.com","TEST,user01","test:M365***_A1_FACULTY","TEAMS1","Success"
"testuser02@example.com","TEST,user02","test:M365***_A1_FACULTY","TEAMS1","Success"
"testuser03@example.com","TEST,user03","test:M365***_A1_FACULTY","TEAMS1","Success"
"testuser04@example.com","TEST,user04","test:M365***_A1_FACULTY","TEAMS1","Success"
"testuser05@example.com","TEST,user05","test:M365***_A1_FACULTY","TEAMS1","Success"

4カラム目の “ServiceName” がサービスの詳細名です。今回は Microsoft Teams をあらわす “TEAMS1” が表示されています。

5カラム目の “ProvisioningStatus” が “Success” であれば有効化されています。 “Disable” であれば無効化されています。

まとめ

今回は、Office365ライセンスのサービスの詳細を一括で確認する方法をご紹介しました。

この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Copyright© しっぱいはせいこうのもと , 2020 All Rights Reserved.