やりたいこと
タイトル通りです。備忘録として記事に残します。
実装方法
実装方法はMicrosoftの公式ドキュメントに記載してあります。
ただし、今回利用したのでは通常のPowerShellではなく、コミュニティがオープンソースで提供しているPnP PowerShellライブラリです。Microsoftが直接提供するものではありませんが、Power PlatformやSharePointOnlineなど、Microsoft 365サービスをPowerShellから操作可能です。
PowerShellコマンドの全体像
結論、実行コマンドは以下です。
# Microsoft Teamsモジュールのインストール
Install-Module -Name MicrosoftTeams -Force -AllowClobber
# SharePoint PnPモジュールのインストール
Install-Module -Name PnP.PowerShell -Force -AllowClobber
# Microsoft Teamsに接続
Connect-MicrosoftTeams
# チームIDを取得
$teamName = "{チーム名}"
$team = Get-Team | Where-Object { $_.DisplayName -eq $teamName }
$teamId = $team.GroupId
# SharePointサイトに接続
$siteUrl = "https://{tenant_name}.sharepoint.com/sites/{site_name}"
Connect-PnPOnline -Url $siteUrl -UseWebLogin
# SharePointリストにデータを追加
$listName = "{リスト名}"
Add-PnPListItem -List $listName -Values @{"TeamID" = $teamId}
# SharePointリストのデータを更新
$itemId = 1 # 更新したいアイテムのID
$updatedValues = @{
"Title" = "Updated Title"
"FieldInternalName" = "Updated Value"
}
Set-PnPListItem -List $listName -Identity $itemId -Values $updatedValues
インストール時の注意点
結論、PowerShell 7.xを使用することを推奨します。
経験則としてPowerShell 5.xでコマンドを叩いても、以下記事で紹介されているエラーが発生したからです。要はバージョンが古いとダメってことですね。
以下記事でもPnP PowerShellは古い環境では動作しないとの記載があります。
解決方法は簡単です。OS環境に応じて、PowerShell7.x以降をダウンロードして環境にインストールするだけです。
Windows環境の場合、こちらのリンクを参照してください。
Linux環境の場合、こちらのリンクを参照してください。
Mac Os環境の場合、こちらのリンクを参照してください。