LoginSignup
2
1

More than 3 years have passed since last update.

SharePoint PnP PowerShellで同時に複数のサイトを取り扱う

Posted at

PowerShellでサイト管理を行う上で、同時に複数サイトを取り扱うケースが少なからずあるかもしれません。
しかし、扱うサイトを切り替える毎にConnect-PnPOnlineDisconnect-PnPOnlineを実行するのはあまりよろしくないように思えます。
上記の問題を解消する方法がありますので、以下に記載します。

接続方法

普段接続に使用しているConnect-PnPOnlineの引数に-ReturnConnectionを追加し、任意の変数に格納します。

connect.ps1
$SiteA = Connect-PnPOnline -Url <site url> -ReturnConnection
$SiteB = Connect-PnPOnline -Url <site url> -ReturnConnection

各コマンド実行方法

例えば各サイトに対してGet-PnPListを発行したい場合は引数に-Connection <接続情報変数>を追加します。
以下の例では、上記接続方法で用意された$SiteA$SiteBを使用しています。

get.ps1
Get-PnPList -Connection $SiteA
Get-PnPList -Connection $SiteB

接続解除方法

普段、接続解除に使用しているDisconnect-PnPOnlineの引数に-Connection <接続情報変数>を追加します。
(各コマンド実行方法と同じですね)

disconnect.ps1
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のサンプルにチラっとでも書いててほしかったなぁという気持ちではあります。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1