大量のサイトを手で作るのが面倒くさい、検証用に大量のサイトを作らなければならない、そんな時に役立つのがPnP PowerShellというライブラリです。今回はそちらを使って少ない労力でサイトを作成していきます。
PnP PowerShell
PnPというのはパターン&プラクティスだかの頭文字だとかで、SharePointをあれこれできるコマンドレット集的なヤツです。それのPowerShell版だからPnP PowerShell。PnPはC#でも使えるらしいです。
こいつはCSOM(クライアント側で実行される)を使うのでSPOもオンプレもどちらでも使えます。
インストール
インストール方法はいくつかあるようですが、今回は一番お手軽と思われるPowerShellGetを使います。Win10ならそのまま使えると思います。使えない場合は以下を参考に導入しませう。
![](https://i0.wp.com/tech.la-fra.com/wp-content/uploads/cocoon-resources/blog-card-cache/08f9d823bab374ea0be87f61812ee9f0.png?resize=160%2C90&ssl=1)
PowerShellを管理者権限で立ち上げ、以下のコマンド(Install-Module~~~)を実行します。対象のSharePointバージョンに合わせて適宜選択してください。
↓↓SharePoint Onlineの場合↓↓
Install-Module SharePointPnPPowerShellOnline
↓↓SharePoint 2019の場合↓↓
Install-Module SharePointPnPPowerShell2019
↓↓SharePoint 2016の場合↓↓
Install-Module SharePointPnPPowerShell2016
↓↓SharePoint 2013の場合↓↓
Install-Module SharePointPnPPowerShell2013
![](https://i0.wp.com/tech.la-fra.com/wp-content/uploads/2020/08/pnppowershell01.png?resize=869%2C369&ssl=1)
実行すると↑のような感じになります。途中で信頼するか等聞かれたら適宜選択してYとかAとか入力してください。これでインストール完了です。
サイト作成
インストールしたPnP PowerShellでサイトを作成していきます。無茶苦茶簡単に作れます。
以下のコードの$urlと$SiteNameの値を使用する環境等に合わせて変更して実行します。
$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」を押します。
![](https://i0.wp.com/tech.la-fra.com/wp-content/uploads/2020/08/pnppowershell02.png?resize=322%2C261&ssl=1)
これでサイト作成が始まり、完了すると以下のような画面になります。
![](https://i0.wp.com/tech.la-fra.com/wp-content/uploads/2020/08/pnppowershell03.png?resize=839%2C161&ssl=1)
SharePointの画面から見てもちゃんとサイトができています。
![](https://i0.wp.com/tech.la-fra.com/wp-content/uploads/2020/08/pnppowershell04.png?resize=1024%2C403&ssl=1)
ね?簡単だったでしょう(∩´∀`)∩
コメント