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:チャネル作成)」になります