PowerShellでサイト管理を行う上で、同時に複数サイトを取り扱うケースが少なからずあるかもしれません。
しかし、扱うサイトを切り替える毎にConnect-PnPOnlineとDisconnect-PnPOnlineを実行するのはあまりよろしくないように思えます。
上記の問題を解消する方法がありますので、以下に記載します。
接続方法
普段接続に使用しているConnect-PnPOnlineの引数に-ReturnConnectionを追加し、任意の変数に格納します。
$SiteA = Connect-PnPOnline -Url <site url> -ReturnConnection
$SiteB = Connect-PnPOnline -Url <site url> -ReturnConnection
各コマンド実行方法
例えば各サイトに対してGet-PnPListを発行したい場合は引数に-Connection <接続情報変数>を追加します。
以下の例では、上記接続方法で用意された$SiteAと$SiteBを使用しています。
Get-PnPList -Connection $SiteA
Get-PnPList -Connection $SiteB
接続解除方法
普段、接続解除に使用しているDisconnect-PnPOnlineの引数に-Connection <接続情報変数>を追加します。
(各コマンド実行方法と同じですね)
Disconnect-PnPOnline -Connection $SiteA
Disconnect-PnPOnline -Connection $SiteB
余談
Connect-PnPOnlineに引数として-ReturnConnectionは記載されていますが、サンプルは特にありません…。
Get-PnPListなどのParameters欄の-Connectionに
Retrieve the value for this parameter by either specifying -ReturnConnection on Connect-PnPOnline
と書いてあるくらいです。
Connect-PnPOnlineのサンプルにチラっとでも書いててほしかったなぁという気持ちではあります。