チームとその SharePoint オンライン サイトのレポートを生成する方法

チームとその SharePoint オンライン サイトのレポートを生成する方法

古い質問に戻る

マイクロソフトが2017年にTeamsを立ち上げた直後、 質問がマイクロソフト 技術コミュニティに表示されました チームと関連付けられた SharePoint オンライン サイトの一覧を返す方法を確認します。

数年後、次の手順を使用してテナント内の Teams のセットを取得する手法を提唱するスレッドに応答が表示されました。

  • 走る ゲットチーム をクリックして、チームのリストを取得します。
  • 走る ゲット・スポサイト をクリックしてサイトのリストを取得します。
  • チームをループして、サイトの一覧で各チームのサイトを見つけます。

PowerShellの特に喜びの1つは、通常、質問に対するいくつかの答えがあることです。Office 365 で使用可能な PowerShell モジュールの数に合わせて、比較的単純な質問に対する最良の答えを見つけるために複数のアプローチを検討することになります。

もう 1 つの複雑な問題は、Microsoft がコマンドレットを時間の経過と同時に更新することです。また、バックグラウンドでオブジェクトを更新して、新しいプロパティの追加、古いプロパティの削除、および動作の改善を行い、多くの場合、新機能の導入をサポートします。

より良い答え

これは私の質問に対する私の2行の答えに私をもたらします。を使用する 取得統一グループ コマンドレットを使用して、チームが有効なグループのセットを返し、チームのセットとその SharePoint Online サイトを一覧表示します。他の何かとは別に、これは1つのモジュール(Exchange オンライン管理) を 2 の代わりに指定します。コードは次のとおりです。

$Teams = Get-UnifiedGroup -Filter {ResourceProvisioningOptions -eq "Team"}
$Teams | Sort DisplayName | Select DisplayName, SharePointSiteUrl | Export-CSV -NoTypeInformation "C:TempTeamsSPOList.CSV"

2017年にさかのぼるスレッドで応答した人々に公平にするために、この答えは不可能でした。Microsoft 365 グループには、決して信頼できない奇妙なプロビジョニング フラグがあり、 取得統一グループ コマンドレットは、チームのフィルター処理をサポートしていません。上記の答えでも、グループの リソースプロビジョニングのオプション プロパティは、数年前に初めて登場し、チーム対応グループの “Team" という値を持つ必要があり、必ずしも設定されていませんでした。その問題は消え去ったようだ。少なくとも、私のテナントでは、オブジェクトの数と、返される実際のオブジェクト ゲットチーム そして 取得統一グループ (フィルタを使用)は同一です。

フィルタのサポートは、サーバー (Exchange Online) がチームが有効なグループを検索し、それらのオブジェクトのみを返す作業を行うことを意味するため、重要です。これは、すべての Microsoft 365 グループを見つけて、ワークステーション上でフィルタリングして、チームが有効になっているグループを特定するよりもはるかに高速です。

レポートの作成

2行の答えが仕事をしますが、より完全な答えは素晴らしいレポートを作成することです。これを行うための簡単なスクリプトを次に示します。

# Check that we are connected to Exchange Online
$ModulesLoaded = Get-Module | Select Name
If (!($ModulesLoaded -match "ExchangeOnlineManagement")) {Write-Host "Please connect to the Exchange Online Management module and then restart the script"; break}
       
$TeamsList = [System.Collections.Generic.List[Object]]::new()
$Teams = Get-UnifiedGroup -Filter {ResourceProvisioningOptions -eq "Team"}
ForEach ($Team in $Teams) {
  $TeamLine = [PSCustomObject][Ordered]@{
      Team = $Team.DisplayName
      SPOSite = $Team.SharePointSiteURL 
      ManagedBy = $Team.ManagedBy }
  $TeamsList.Add($TeamLine)
}
$TeamsList | Out-GridView
$TeamsList | Export-CSV -NoTypeInformation c:tempTeamsSPOList.CSV

レポート出力は、次を使用して画面に出力されます。 アウトグリッドビュー (図1)とCSVファイル。しかし、PowerShellなので、コードを変更して必要な操作を行うことができます。

レポートMicrosoft Teamsとその SharePoint オンライン サイト
図 1: レポートMicrosoft Teamsとその SharePoint オンライン サイト

他の方法とは別に、この演習では、Office 365 テナントを管理する PowerShell スクリプトを記述する場合、更新されたモジュールで導入された変更点を確認する必要があることを証明します。


IT 担当者向け Office 365 eBook には、PowerShell を使用してシステム管理の問題に対する革新的なソリューションを作成する方法に関する完全な章があります。今すぐ購読し、毎月の更新プログラムの恩恵を受けます。


未分類

Posted by admin