大量のサイトを手で作るのが面倒くさい、検証用に大量のサイトを作らなければならない、そんな時に役立つのがPnP PowerShellというライブラリです。今回はそちらを使って少ない労力でサイトを作成していきます。
PnP PowerShell
PnPというのはパターン&プラクティスだかの頭文字だとかで、SharePointをあれこれできるコマンドレット集的なヤツです。それのPowerShell版だからPnP PowerShell。PnPはC#でも使えるらしいです。
こいつはCSOM(クライアント側で実行される)を使うのでSPOもオンプレもどちらでも使えます。
インストール
インストール方法はいくつかあるようですが、今回は一番お手軽と思われるPowerShellGetを使います。Win10ならそのまま使えると思います。使えない場合は以下を参考に導入しませう。
PowerShellを管理者権限で立ち上げ、以下のコマンド(Install-Module~~~)を実行します。対象のSharePointバージョンに合わせて適宜選択してください。
1 2 3 4 5 6 7 8 9 10 11 |
↓↓SharePoint Onlineの場合↓↓ Install-Module SharePointPnPPowerShellOnline ↓↓SharePoint 2019の場合↓↓ Install-Module SharePointPnPPowerShell2019 ↓↓SharePoint 2016の場合↓↓ Install-Module SharePointPnPPowerShell2016 ↓↓SharePoint 2013の場合↓↓ Install-Module SharePointPnPPowerShell2013 |

実行すると↑のような感じになります。途中で信頼するか等聞かれたら適宜選択してYとかAとか入力してください。これでインストール完了です。
サイト作成
インストールしたPnP PowerShellでサイトを作成していきます。無茶苦茶簡単に作れます。
以下のコードの$urlと$SiteNameの値を使用する環境等に合わせて変更して実行します。
1 2 3 4 5 6 7 |
$url = "https://hogehoge.sharepoint.com/sites/SiteName/" $Credential = Get-Credential Connect-PnPOnline -Url $url -Credentials $Credential $SiteName = "siteName1","siteName2","siteName3","siteName4","siteName5" $SiteName | % { New-PnPWeb -Title $_ -Url $_ -Description "サイトの説明" -Locale 1041 -Template STS#0 } |
実行すると以下のように資格情報を聞かれますので、サイト作成権限を持ったアカウントのIDとパスワードを入力して「OK」を押します。

これでサイト作成が始まり、完了すると以下のような画面になります。

SharePointの画面から見てもちゃんとサイトができています。

ね?簡単だったでしょう(∩´∀`)∩