Teamsチーム・プライベート・共有チャネルのストレージ情報をPowerShellコマンドで一覧出力する

Teamsチームのストレージ上限や使用量はSharePoint Online管理センター(GUI)から確認が可能ですが、プライベートチャネル・共有チャネルのストレージ情報はPowerShellコマンドからのみ確認することができます。

このため今回は、テナント内に存在するチーム・プライベートチャネル・共有チャネルのストレージ情報をPowerShellコマンドで一覧出力する方法をご紹介します。

前提

SharePoint Online管理モジュール*1をPowerShellにインストールしておきます。

また本手順は、管理者権限があるユーザーでの操作が必要となります。

ストレージ情報を一覧出力する

一覧を取得・出力するPowerShellコマンド

まず、SharePoint管理センターへ接続します。

Connectコマンドを実行すると認証画面が表示されるので、管理者のアカウント・パスワードでサインインして下さい。

Connect-SPOService -Url https://[SharePoint管理センターのURL]

パラメータのUrlには、接続するテナントのSharePoint管理センターのURL(~.sharepoint.comまでの部分)を指定します。

SharePoint管理センターのURL

Get-SPOSiteコマンド*2を実行し、SharePointサイトを一覧で出力します。

既定のままだと200件までしか出力されないため、-Limit ALLを付けてテナント内のサイトすべてが出力されるようにします。

またすべてのサイトを取得した場合、テナント開設時に既定で準備されるシステムサイト等も取得されてしまうため、今回は".sharepoint.com/sites/"でフィルタし、作成されたSharePointサイトのみが出力されるようにします。

Get-SPOSite -Limit ALL -Filter { Url -like ".sharepoint.com/sites/" }
Get-SPOSiteの実行結果画面

上記コマンドは出力項目を指定していないため、実行結果では一部項目のみが出力されます。

Get-SPOSiteで取得できる項目をすべて取得し、さらにCSVへ出力されるよう以下コマンドを実行します。

Get-SPOSite -Limit ALL -Filter { Url -like ".sharepoint.com/sites/" } | Select-Object * | Sort-Object Url | Export-Csv -Encoding UTF8 -NoTypeInformation -Path (".\SPOサイト容量一覧_"+ (Get-Date -Format yyyyMMdd_HHmmss) +".csv")
Get-SPOSite(全項目取得・CSV出力)の実行結果画面

コマンドを実行したディレクトリに、"SPOサイト容量一覧_yyyyMMdd_HHmmss.csv"というファイル名でCSVがエクスポートされます。

※yyyyMMdd_HHmmssはコマンド実行時間が入ります

CSV出力フォルダ

取得した項目の解説

Get-SPOSiteでは80個を超える項目が取得できますが、ストレージ情報を確認する際に必要な項目は以下になります。

項目名 内容 補足
StorageUsageCurrent 現在のストレージ使用量 MB単位で出力
GroupId サイトのグループID プライベートチャネルやクラシックサイトなどはGroup IDを持たないため、
00000000-0000-0000-0000-000000000000と出力される
Url サイトのURL -
StorageQuota ストレージ上限 MB単位で出力
StorageQuotaWarningLevel ストレージ使用量の警告値 MB単位で出力
使用容量がここで設定されている値に達した場合に、所有者へメールが送信される
Title サイト名 -
IsTeamsConnected サイトがTeamsに接続されているか否か Teamsに接続済みの場合、Trueと出力される*3
TeamsChannelType チームチャネル種類 プライベートチャネルの場合"PrivateChannel"、
共有チャネルの場合"SharedChannel"、
それ以外は"None"と出力される
ストレージ情報を確認するために見るべき項目

ストレージ上限を更新する

一覧取得に合わせて、ストレージ上限を更新する方法をご紹介します。

下記ページで紹介した方法を使って、今回Get-SPOSiteで出力されたCSVを利用してストレージ上限を更新する事ができます。
blog.jbs.co.jp
まず、CSVを以下のように編集します。

  • ストレージ上限を更新するサイトのみにする(更新しないサイトについては行削除する)

  • 「StorageQuota」を更新したい値に書き換える

※「StorageQuota」以外の項目はCSVにそのまま残しておいて問題ありません(値は変更しないでください)

以下コマンドを実行しストレージ上限を更新します。

"編集したCSVのフルパス"部分は、上記で編集したCSVのフルパスを指定してください。

Import-Csv "編集したCSVのフルパス" | Foreach { Set-SPOSite -Identity $_.Url -StorageQuota $_.StorageQuota }

CSVに記載されたサイト数分Set-SPOSiteコマンドを実行し、StorageQuotaを更新します。

更新コマンド実行結果画面

終わりに

TeamsやSharePointを管理していると、PowerShellからしか確認・更新できない項目が多々あることが分かります。

またGUIから確認・更新できる項目であっても、作業効率の面でPowerShellから管理する方が良いものもたくさんあります。

このようなPowerShellでの管理方法をたくさん知っていると強みになります。

*1:https://learn.microsoft.com/ja-jp/powershell/sharepoint/sharepoint-online/connect-sharepoint-online

*2:Get-SPOSite (Microsoft.Online.SharePoint.PowerShell) | Microsoft Learn

*3:Get-SPOSiteのDocsにはこのように記載がありましたが、私の環境ではTeamsに接続されていてもFalseと出力されるものがあったため、この項目を利用してチームサイトかどうか区別したい場合は、SharePoint管理センター(GUI)からもチームサイトかどうか確認するなどダブルチェックをお願いします

執筆担当者プロフィール
Hiroko, Kimura

Hiroko, Kimura(日本ビジネスシステムズ株式会社)

Microsoft 365製品の提案~運用が担当領域、特にTeams/Teams Phone多めです。趣味は音楽とテレビと映画。趣味にしたいのは筋トレ(エンジニアには筋肉が必要)。

担当記事一覧