Cloud Solutions Script

PowerShell - Microsoft Teams を制御する

2021年9月19日

私がMicrosoft Teamsの運用を任せられた時に、よく使うコマンドはこれだよ!という、まとまった記事を見つけられなかったので、少しでもみなさんの参考になれればと思い、私がよく利用するコマンド寄せ集めました。
同じ状況で困っている方の手助けになれると嬉しいですっ。

既に活用されている方でも、ぜひ一読いただき、こんなこと出来るんだ!と感じて盛られれば嬉しいですっ 

Microsoft TeamsをPowerShellで制御するための事前準備

自分
まずは、Microsoft Teams用のPowerShellモジュールをインストールする必要があります。
手順はとても簡単です!
  1. [管理者として実行]で、PowerShellを立ち上げます。
  2. 以下コマンドを実行してモジュールをインストールします。
     command
    Install-Module MicrosoftTeams
    
     
  3. 以下コマンドを実行して、インストールしたモジュールを使える状態にします。
     command
    Import-Module MicrosoftTeams
    

Microsoft Teams へ接続してみる

事前準備が完了した状態で、Microsoft Teamsへの接続するために以下コマンドを実行します。

 command
Connect-MicrosoftTeams

実行すると、認証画面がポップアップで表示されるので、管理者権限を持つMicrosoftアカウントでサインインします。
認証に成功すると、以下のような画面が表示されます。

Teamsを制御するコマンドを実行する前に必ず、本コマンドを使用してMicrosoft Teamsに接続しておく必要があります。
Connect-MicrosoftTeams

Microsoft Teams の チーム関連のコマンドレット

チームに関するコマンド関係を記載します

チームの一覧を取得するコマンド

チーム数が多くなってくると、Teams 管理センターでチーム一覧で確認していくのが困難になってきます。
そんな時に、Get-Team というコマンドを使うことで、チームを一覧表示することが可能です。

 command
Get-Team

各チームのMailNickName(メールニックネーム)もわかるので、チームのメールアドレスを把握したいときにも利用できます
Get-Team

チームを作成するコマンド

Microsoft Teamsの画面でも簡単にチームを作成することは可能ですが、PowerShellを利用してチームを作成することが可能です。
Education版のチームもPowerShellで作成することができるので、一緒に記載します。

Microsoft Teams のチームを作成するコマンド

 command
New-Team -DisplayName "チームの表示名" -Owner "所有者とするユーザーのメールアドレス"

上記コマンドを実行することでチームが作成されます。
メンバーの追加はチーム作成後に行っていくことになります。
New-Team -DisplayName "チームの表示名" -Owner "所有者とするユーザーのメールアドレス"

Microsoft Teams for Education のチームを作成するコマンド

 command
New-Team -DisplayName "チームの表示名" -Owner "所有者とするユーザーのメールアドレス" -Template EDU_Class

上記コマンドを実行することで クラスチームが作成されます。
メンバーの追加は、チーム作成後に行っていくことになります。
また、クラスの有効化はPowerShellでは出来ないため、Microsoft Teamsを起動し、個別に有効化していく必要があります。

クラスの有効化

 

チームにメンバーを追加するコマンド

 command
Add-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -User "メンバーにしたいユーザーのメールアドレス" -Role Member

上記コマンドを実行することで、チームにユーザーを追加することが可能です。
複数名追加するときには、CSVを用意しforeachをご活用ください
Add-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -User "メンバーにしたいユーザーのメールアドレス" -Role Member

チームに所属しているメンバーを確認するコマンド

 command
Get-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId

上記コマンドを実行することで、チームに所属しているメンバーを確認することが可能です。
参加人数が多いチームの場合、目視で確認していくのは大変だと思うので、本コマンドを活用してみてください。
Get-TeamUser -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId

Microsoft Teams の チャネル関連のコマンドレット

チャネルに関するコマンド関係を記載します

チームに作成されているチャネルを確認するコマンド

 command
Get-TeamChannel -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId

上記コマンドを実行することで、チーム内に作成されているチャネルを一覧で確認することが可能です。
自身が参加しておらず、Microsoft Teams管理センターで確認するのが手間な場合は、本コマンドをご活用ください。
Get-TeamChannel -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId

チャネルを作成するコマンド

 command
New-TeamChannel -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -DisplayName "チャネルの名前"

上記コマンドを実行することで、既存のチームにチャネルを追加することが可能です。
コマンドでチームを作成した際に、チャネルもコマンドで作成しておくことで利用者が都度チャネルを作成する必要がなくなり、便利ですよ!

以下画像は、チャネル作成後にチャネルの存在を確認しています。
New-TeamChannel -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -DisplayName "チャネルの名前"

既存のチャネルを削除するコマンド

 command
Removel -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -DisplayName "チャネルの名前"

あまり利用することは無いと思いますが、既存のチャネルを削除することが出来ます。
間違えて作成したチャネルがあれば、本コマンドを利用して削除することが可能です。

プライベートチャネルを作成する方法

 command
New-TeamChanne l -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -DisplayName "チャネルの名前1" –MembershipType Private –Owner "チャネルの所有者になるユーザーのメールアドレス"

上記コマンドを利用することで、プライベートチャネルを作成することが可能です。

ただし、本コマンドを実行するためには別のTeams用PowerShellモジュールである pre-release 版のモジュールを入れる必要があります。

pre-release版のMicrosoft Teams のPowerShellモジュールをインストールする方法

pre-release版のため、うまく動作しないコマンドがあるかもしれません。注意しながらご利用ください。

  1. 通常版のMicrosoft Teamsモジュールを入れている場合には、アンインストールをする必要があるので、管理者として実行で起動したPowerShellを使い、以下コマンドを実行してアンインストールします。
     command
    Uninstall-Module -Name MicrosoftTeams
    

  2. モジュールをダウンロードするために、以下コマンドを実行し、インストール元を指定します。
     command
    Register-PSRepository -Name PSGalleryInt -SourceLocation https://www.poshtestgallery.com/ -InstallationPolicy Trusted
    


  3. インストールする準備が整ったので、以下コマンドを実行し、pre-release版 Microsoft Teamsのモジュールをインストールします。
     command
    Get-Module -Name MicrosoftTeams
    

  4. pre-release Microsoft Teamsのモジュールは、更新(アップデート)される頻度が早いので、最新のバージョンを入れておくように意識する必要があります。インストール済みのMicrosoft Teamsモジュールのアップデートは以下コマンドで実施します。
     command
    Update-Module -Name MicrosoftTeams -Force
    


チームに存在するプライベートチャネルを確認するコマンド

 command
Get-TeamChanne l -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -MembershipType Private

上記コマンドを実行することで、チーム内に存在しているプライベートチャネルを一覧で確認することが可能です。
プライベートチャネルの存在有無は確認が難しいので、ぜひ本コマンドを活用ください。

本コマンドを実行するためには別のTeams用PowerShellモジュールである pre-release 版のモジュールを入れる必要があります。

プライベートチャネルに所属しているメンバーを一覧で確認する

 command
Get-TeamChannelUser -GroupId (Get-Team | Where { $_.DisplayName -eq "チームの表示名" }).GroupId -DisplayName "チャネルの名前"

上記コマンドを実行することで、プライベートチャネルに参加しているユーザーを一覧で確認することが可能です。
管理者目線でチェックすることは中々ないかもしれませんが、意図しないプライベートチャネルの存在が確認された際に
本コマンドを利用することで、所有者/メンバーを確認することが出来ます。

本コマンドを実行するためには別のTeams用PowerShellモジュールである pre-release 版のモジュールを入れる必要があります。

 

さいごに・・・

どうでしょうか。読んでいただいて簡単だなー。と感じたかが多いと思います。
各コマンドが、1文で済んでしまうので簡単に実行することが可能ですよ! ちょっと難しそうだな~抵抗感あるなぁ~と感じられた方は、ぜひ一度実行してみてください。
触ってみたり、自身で実行してみることで抵抗感が薄れていきコマンドへの理解が深まると思います!

自分
最後まで読んでいただきありがとうございますっ。
もし、こんなこともできないの?といった気になる機能がありましたらお問い合わせください!確認して本記事に追加します!!

-Cloud Solutions, Script