こんにちは、SxSの村木です。
ここ最新急に暑くなりましたが、皆さん寒暖差で体調を崩していないでしょうか。
私としては暑さが得意という訳ではないのですが、夏のエネルギッシュな感じが好きなので、梅雨を飛ばしてこのまま夏になってほしいと感じております。
さて今回は、利用状況レポートのデータ取得について少しお話ししたいと思います。
利用状況レポートについて
Microsoft 365 管理センターにて、ナビゲーションメニューの [レポート] > [利用状況] から、組織内のユーザーが Teams や SharePoint 等の Microsoft 365 のサービスをどの程度使用しているかのデータを見ることができます。
例えば Teams の場合、チームの最後のアクティビティの日付やアクティブユーザーを確認でき、チームの棚卸しの際に役立ちそうなデータとなります。
このようなデータはブラウザの画面上からエクスポートすることが可能ですが、PowerShell でもデータを取得することができれば、更に利便性が上がるかと思います。
PowerShellを用いてデータを取得するには
PowerShell の Microsoft.Graph.Reports モジュールの中には、利用状況レポートのデータを取得できるコマンドが含まれており、例えば以下のコマンドで Teams のチームの使用状況のデータを取得することができます。
Get-MgReportTeamActivityDetail
しかしながら、こちらのコマンドはデータをファイルとして出力するコマンドとなり、PowerShell 内でデータを整形するのであれば、出力後のファイルを再度読み込む必要があります。
Get-MgReportTeamActivityDetail -Period D180 -OutFile ".\TeamsTeamActivityDetail.json"
$data = Get-Content ".\TeamsTeamActivityDetail.json" -Encoding UTF8 | ConvertFrom-Json
ファイルを出力したくない場合、以下のコマンドで REST API リクエストを Graph API に対して実行することでもデータを取得することが可能です。
Invoke-MgGraphRequest
こちらのコマンドは、API はあるものの PowerShell コマンドがまだ用意されていない時にも利用できます。
$uri = "https://graph.microsoft.com/beta/reports/getTeamsTeamActivityDetail(period='D180')?`$format=application/json"
$data = Invoke-MgGraphRequest -Method Get -Uri $uri
今回の記事は以上になります。少しでも参考になれば幸いです。
SxSでは GUI 上の操作だけではなく、SharePoint や Teams に関連する PowerShell のお問い合わせもサポートいたします。
GUI の操作は大体把握しているけど、もう一歩踏み込んだことを行いたいという方も、是非SxSにお問い合わせください。
ではまた次回の記事でお会いしましょう!
SxSブログのチェックをよろしくお願いします!