Microsoft teamsはMicrosoft365の一部なので、powershellでMicrosoft365の操作で行えます。
ですが、Microsoft teamsに特化したpowershellコマンドもあります。
目次
チーム作成
Microsoft Teamsの「チーム」の作成方法は2つあります。
①Microsoft365から「Microsoft365グループ」を作成し、Microsoft teamsに登録
②Microsoft teamsに直接作成
どちらの作成方法でもチームを作成できますが、ここでは簡単にできる「②Microsoft teamsに直接作成」を紹介します。
Microsoft teamsへの接続
PowerShellのMS teamsモジュール
PowerShell 用の teamsモジュールをインストールします。インストール方法はこちらを参照ください。
Microsoft teamsに接続
接続方法はこちらを参照ください。
これで、PowerShell で Microsoft teams を操作ができる状態となりました。
チームの確認
チーム一覧
すべてのMicrosoft Teamsの「チーム」の確認は以下になります。コマンドは「Get-Team」です。
PS> Get-Team GroupId DisplayName Visibility Archived MailNickName Description ------- ----------- ---------- -------- ------------ ----------- xxxx-xxxx-xxxx-xxxx-xxxx team-A Private False team-A プロジェクトA yyyy-yyyy-yyyy-yyyy-yyyy team-B public False team-B プロジェクトB
特定のチーム
特定のMicrosoft Teamsの「チーム」の確認は以下になります。
Get-Teamコマンドにフィルターをかけることで特定のチームを取得することができます。
| フィルタ | 検索条件 |
| GroupId | 特定のチームのID |
| MailNickName | メールアドレス |
| DisplayName | 表示名 |
| Visibility | プライベートかパブリックか |
以下は同じ結果となります。
PS> #GroupId方法①
PS> Get-Team -GroupId yyyy-yyyy-yyyy-yyyy-yyyy
PS> #GroupId方法②
PS> $teamName = "team-A"
PS> Get-Team -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId
PS> #DisplayName
PS> Get-Team -DisplayName "team-A"
なお、パイプラインで fl を指定(| fl )することで、チームの詳細情報が表示されます。ただし、チームに所属するメンバーの情報は別のコマンドレットで取得する必要があります。
チームの作成
チームの作成時にメンバーの追加はできないため、まずチームを作成しその次にメンバーの追加をします。
以下の情報をもとにチームの作成をします。
・表示名(DisplayName):プロジェクトX
・チームのメールアドレス(MailNickName):project-X
・管理者(Owner):PL@dom.com
・公開範囲(Visibility):public
・説明(Description):極秘
PS> New-Team -DisplayName "プロジェクトX" `
-MailNickName "project-X" `
-Owner "PL@dom.com" `
-Visibility public `
-Description "極秘"
GroupId DisplayName Visibility Archived MailNickName Description
------- ----------- ---------- -------- ------------ -----------
xxxx-xxxx-xxxx-xxxx-xxxx プロジェクトX public False project-X 極秘
チームにメンバの追加
以下の情報をもとにメンバの追加をします。
なお、ここではユーザは作成されているものとし、作成されているユーザをチームにメンバ登録します。
ユーザの作成はこちらを参照ください。
①ユーザ鈴木一郎
・ユーザ名(USer):ichisuz@dom.co.jp
・役割(Role):管理者
②ユーザ田中花子
・ユーザ名(USer):tanhana@dom.co.jp
・役割(Role):ユーザ
PS> $teamName = "プロジェクトX"
PS> Add-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
-User "ichisuz@dom.co.jp" -Role Owner
PS> Add-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
-User "tanhana@dom.co.jp" -Role Member
なお、メンバを追加した場合に実際にチームの管理画面のメンバー一覧に表示されるまでに最大 2 時間とされているタイムラグがあります。
チームメンバの確認
チームメンバの確認をします。
PS> $teamName = "プロジェクトX"
PS> Get-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId
UserId User Name Role
------ ---- ---- ----
xxxx-xxxx-xxxx-xxxx-xxxx PL@dom.com リーダ owner
xxxx-xxxx-xxxx-xxxx-xxxx ichisuz@dom.co.jp 鈴木一郎 owner
xxxx-xxxx-xxxx-xxxx-xxxx tanhana@dom.co.jp 田中花子 member
チームにメンバの一括登録
チームにメンバの一括登録をします。
excelでユーザ情報を作成しcsvファイル形式で保存する
ここでは以下の情報をもとにMicrosoft teamsのチームにユーザを作成するものとします。
これに基づいてexcelファイルを作成します。
・userUPN = (メールアドレス ログオン名)
・groupName (グループのDisplayname)
・Role = (役割)
これをもとにcsv形式で保存します。
userUPN,teamname,Role ichisuz@dom.co.jp,プロジェクトX,owner tanhana@dom.co.jp,プロジェクトX,member
注意点は、文字化け防止のためcsvファイルを保存する際に文字コードをUTF-8 に指定することです。
Microsoft teamsチームにメンバ登録する
作成したcsvファイルをもとにMicrosoft teams チームにメンバ登録します。
ここでは作成したcvsファイル名は users_grp.csv とします。
PS> Import-Csv -Path ".\users_grp.csv" |
ForEach-Object {Add-TeamUser `
-GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
-User $_.userUPN -Role $_.Role `
}
チームからユーザの削除
チームからユーザの削除をします。コマンドは「Remove-TeamUser -GroupId <ユーザID>」です。
PS> Remove-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
-User <ユーザ名>
チームの削除
「チームの削除」は、「チームに関連付けられている Office 365 グループの削除」ということになります。既定では、削除された Office 365 グループは 30 日間保持され、復元することができます。コマンドは「Remove-Team -GroupId <チームID>」です。
PS> $teamName = "プロジェクトX"
PS> Remove-Team -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId
チームの復元
「チーム」の復元は、”azureAD” 環境でMicrosoft 365 グループを復元することになります。
「チーム」を削除してから30日以内であれば「チーム」を復元(Microsoft 365 グループを復元)することができます。復元により、タブ、標準チャネル、プライベート チャネル、それらに関連付けられたサイト コレクションなどのチーム コンテンツが復元されます。
AzureADPreview モジュールをインストール
「チーム」復元には ”AzureADPreview モジュールのインストール” が必要となります。インストール方法はこちらを参照ください。
azureADに接続
azureADに接続します。コマンドは「Connect-AzureAD」です。
PS> Connect-AzureAD
ポップアップ画面に管理者アカウントとパスワードを使用してサイン インします。
削除されたチーム一覧
削除されて30日未満の「チーム(azureADのグループ)」の一覧を取得します。コマンドは「Get-AzureADMSDeletedGroup」です。
PS> Get-AzureADMSDeletedGroup Id DisplayName Description -- ----------- ----------- xxxx-xxxx-xxxx プロジェクトX プロジェクトX yyyy-yyyy-yyyy プロジェクトX1 プロジェクトX1
削除されたチームの復元
削除されたチームを復元します。
例では「プロジェクトX1」チームを復元します。コマンドは「Restore-AzureADMSDeletedDirectoryObject -Id <チームのID>」です。
PS>#復元するチーム名
PS> $teamName = "プロジェクトX1"
PS>#復元
PS> Restore-AzureADMSDeletedDirectoryObject -Id (Get-AzureADMSDeletedGroup | Where { $_.DisplayName -eq $teamName }).id
Id DisplayName Description
-- ----------- -----------
yyyy-yyyy-yyyy プロジェクトX1 プロジェクトX1
「チーム(azureAdのグループ)」の復元の確認
「チーム(azureAdのグループ)」が正常に復元されたことを確認します。コマンドは「Get-AzureADGroup -ObjectId <グループのID>」です。
PS>#復元するチーム名
PS> $teamName = "プロジェクトX1"
PS>#ここに存在する
PS> Get-AzureADGroup -ObjectId (Get-AzureADGroup | Where { $_.DisplayName -eq $teamName }).ObjectId
PS>#ここには存在しない
PS> Get-AzureADMSDeletedGroup
なお、復元プロセスが完了するまで、最大で 24 時間かかる場合があります。その後、タブやチャネルなど、該当するチームに関連付けられたチームとコンテンツが Teams に表示されます。
次の操作
次回は、「PowerShellでMicrosoft teamsを操作(その2:チャネル作成)」になります