PowerShellでMicrosoft teamsを操作(その2:チャネル作成)

投稿者: | 2020年5月6日

powershellでMicrosoft teamsの操作シリーズです。
Microsoft teamsに特化したpowershellコマンドで、チームにチャネルを作成します。これにより、定型のチームとチャネルを作成することができます。

今までのシリーズはこちらから。
その1:チーム作成とユーザ登録/一括登録
その2:チャネル作成

Microsoft teamsへの接続

Microsoft teamsへの接続方法はこちらを参照ください。

チャネルの確認

まずチームがあることが前提です。チームのチャネル確認は以下になります。

PS>#チームの確認
PS> Get-Team

PS> #チャネルの確認方法①
PS> Get-TeamChannel -GroupId <チームのID>

PS> #GroupId方法②
PS> $teamName = "プロジェクトX"
PS> Get-TeamChannel -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId


Id                           DisplayName      Description
--                           -----------      -----------
xx:yyyyyyyyyyyy@thread.tacv2 General          
xx:yyyyyyyyyyyy@thread.tacv2 メールからの投稿
xx:yyyyyyyyyyyy@thread.tacv2 ビデオ会議

チャネルの作成

以下の情報をもとにチャネルの作成をします。

・チーム:プロジェクトX
・チャネル名:タスクA

PS> $teamName = "プロジェクトX"
PS> $chanelname = "タスクA"

PS> New-TeamChannel `
     -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
     -DisplayName $chanelname


Id                           DisplayName      Description
--                           -----------      -----------
xx:yyyyyyyyyyyy@thread.tacv2 タスクA

チャネルの削除

以下の情報をもとにチャネルの削除をします。

・チーム:プロジェクトX
・チャネル名:極秘

PS> $teamName = "プロジェクトX"
PS> $chanelname = "極秘"

PS> Remove-TeamChannel `
     -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
     -DisplayName $chanelname

プライベートチャネルの作成

チャネルもチームと同様にプライベートでの作成ができます。GUIからはチャネル追加時に ”「プライバシー」から「プライベート」” を選択することで作れます。
なお、プライベートチャネルにするには ”チャネル追加時” のみで、一度作成したチャネルのモード変更(「パブリック → プライベート」「プライベート → パブリック」)はできません。

PowerShellでもプライベートチャネルを作成することができますが、「pre-releaseバージョンのTeams PowerShellモジュールのインストール(MicrosoftTeamsモジュールの1.0.18以上)」が必要となります。

バージョンの確認コマンドは「get-module | Where { $_.Name -eq “MicrosoftTeams” } | ft name,version」です。

PS> get-module | Where { $_.Name -eq "MicrosoftTeams" }  | ft name,version

Name                            Version
----                            -------
MicrosoftTeams                  1.0.22

MicrosoftTeams 1.0.22
<https://www.poshtestgallery.com/packages/MicrosoftTeams/1.0.22>

pre-releaseバージョンのTeams PowerShellモジュールのインストール

①通常の「MicrosoftTeamsモジュール」や「以前のバージョンの pre-release モジュール」がインストールされている場合は以下のようにアンインストールします。

PS> Uninstall-Module -Name MicrosoftTeams

②powershellコンソールを閉じます。
③powershellコンソールを ”管理者” で開きます。
④モジュールのインストール先(PowerShell Test Gallery)を設定します。

PS> Register-PSRepository -Name PSGalleryInt -SourceLocation https://www.poshtestgallery.com/ -InstallationPolicy Trusted

⑤PowerShell Test Galleryからpre-release版の「MicrosoftTeamsモジュール」をインストールします。

PS> Install-Module -Name MicrosoftTeams -Repository PSGalleryInt -Force

⑥モジュールのバージョンの確認

PS> Get-Module -Name MicrosoftTeams

pre-releaseバージョンは更新が早いので常に最新のバージョンを取得する必要があります。モジュールのアップデートは以下で行います。

PS> Update-Module -Name MicrosoftTeams -Force

プライベートチャネルの作成

「pre-releaseバージョンのTeams PowerShellモジュールのインストール」ができたら、以下の情報をもとにプライベートチャネルの作成をします。

・チーム:プロジェクトX
・チャネル名:極秘
・管理者(Owner):PL@dom.com
・公開範囲(MembershipType):Private

PS> $teamName = "プロジェクトX"
PS> $chanelname = "極秘"
PS> $chanelowner = "PL@dom.com"

PS> New-TeamChannel `
     -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `
     -DisplayName $chanelname `
     –MembershipType Private `
     –Owner $chanelowner

Id                    DisplayName Description MembershipType
--                    ----------- ----------- --------------
xx:yyyy@thread.tacv2 タスクB                        Private

プライベートチャネルのユーザ一覧

プライベートチャネルのユーザを確認します。コマンドは「Get-TeamChannelUser -GroupId <チームID> -DisplayName <プライベートチャネル名>」です。

PS> $teamName = "test用" 
PS> $chanelname = "タスクB" 

PS> #チーム一覧
PS> Get-Team -DisplayName $teamName

PS>#対象チームのチャネル一覧
PS> Get-TeamChannel  `
     -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId 

PS>#対象チームのプライベートチャネル一覧
PS> Get-TeamChannel   `
     -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId   `
     -MembershipType Private

PS> #対象チームのプライベートチャネルのユーザ一覧
PS> Get-TeamChannelUser `
     -GroupId (Get-Team | Where { $_.DisplayName -eq $teamName }).GroupId `  
     -DisplayName $chanelname

コメントを残す

メールアドレスが公開されることはありません。