April, 26. – 28. 2021
MICROSOFT 365 VIRTUAL MARATHON 2021
m365virtualmarathon.com #M365VM
SharePoint サイトの自動作成あれこれ
及川 紘旭
@HiroakiOikawa
アドバンスド・ソリューション株式会社
MICROSOFT 365 VIRTUAL MARATHON 2021 SPONSORS
m365virtualmarathon.com #M365VM
▪ 及川 紘旭(Hiroaki Oikawa), 1976年生まれ, 神奈川県出身
▪ アドバンスド・ソリューション株式会社
代表取締役社長兼 SharePoint 導入コンサルから開発まで何
でも担当
▪ SharePoint 歴は15年ほど。
▪ Microsoft MVP
for Office Servers and Services 2007年10月~2016年9月
for Office Development 2016年10月~
▪ ブログ SharePoint Developer (https://sharepoint.orivers.jp)
自己紹介
m365virtualmarathon.com #M365VM
AGENDA
▪ SharePoint サイトの自動作成の現状
▪ SharePoint サイトの新しい自動作成手段
▪ サイトテンプレート
▪ PnP リモートプロビジョニング
▪ まとめ
▪ Q&A
m365virtualmarathon.com #M365VM
▪ 使えなくなってしまった「サイトテンプレート」
 SharePoint サイトを任意の構成で素早く作成するために便利な機能でしたが、モダン UI な SharePoint サイトで
はこの機能が使えなくなってしまいました。
▪ 使えなくなってしまった「Server Side Object Model (SSOM)」
 SharePoint サイトを自動作成するために、オンプレ SharePoint では SSOM を使用してサイトの自動作成を行うた
めのプログラムを開発していましたが、オンラインでは SSOM が使えなくなってしまいました。
SharePoint サイトの自動作成の現状
クラシック モダン
ない!!
これまでの機能に代わり、
SharePoint Online のモダンサイトでも使える新しいサイト自動作成機能が提供されるようになりました。
m365virtualmarathon.com #M365VM
SharePoint Online モダンサイトで利用可能な新しいサイト自動作成手段は3つ(下表#1~#3)あります。
SharePoint サイトの新しい自動作成手段
# 手段 標準
機能
モダン
対応
難易度 利用者 できること
1 サイトテンプレート
(旧名サイトデザイン)
〇 〇 中 SharePoint
管理者
サイトの一部パラメータの自動設定、リ
スト作成、アイテム作成、テーマの設定
2 PnP リモートプロビジョニング × 〇 高 SharePoint
管理者
サイトのほぼすべてのパラメータの自動
設定、リスト作成やアイテム作成を含む
SPOに関する多くのパラメータの自動設
定
3 Client Side Object Model (CSOM) 〇 〇 最高 開発者 サイトのほぼすべてのパラメータの自動
設定、リスト作成やアイテム作成を含む
SPOに関する多くのパラメータの自動設
定
4 従来のサイトテンプレート 〇 × 低 サイト
所有者
サイトのほぼすべてのパラメータの自動
設定、リスト作成、アイテム作成
m365virtualmarathon.com #M365VM
▪ サイトテンプレートとは
 サイト作成時またはサイト作成後に、サイトに対して任意のアクションを実行するための機能。
 サイトテンプレートには、サイトスクリプト(実行するアクションを JSON で記述したファイル)を複数指定するこ
とができる。
 サイトテンプレート、サイトスクリプトは、ユーザーが使えるようにするために、PowerShell にてあらかじめテ
ナントに登録しておく必要がある。
▪ 実行可能なアクション
 リスト、ライブラリ、サイト列、コンテンツタイプの作成
 ナビゲーションリンクの追加/削除、テーマの適用、サイトロゴの設定
 ブランディングプロパティ(ヘッダーレイアウト、ヘッダー背景)の設定
 ハブサイトの結合、サイトの地域設定、外部共有設定の構成
 サイト機能のアクティブ化
 SharePoint グループにユーザーを追加
 アドイン、ソリューション、SharePoint Framework 拡張機能のインストール
 Power Automate の実行
サイトテンプレート(旧名:サイトデザイン)- 概要
サイトスクリプト
(JSON ファイル)
アクション
アクション
アクション
サイトテンプレート
1
n
m365virtualmarathon.com #M365VM
① テンプレートサイトを作成する
 いつも通りサイトを作成
② テンプレートサイトからサイトスクリプトを自動作成する
 Get-SPOSiteScriptFromWeb コマンドレットを実行
③ 必要に応じてサイトスクリプトを修正する
 JSON ファイルをテキストエディタで修正
④ サイトスクリプトをテナントに登録する
 Add-SPOSiteScript コマンドレットを実行
⑤ サイトテンプレートを作成する
 Add-SPOSiteDesign コマンドレットを実行
⑥ 新しいサイトテンプレートを使ってサイトを作成する
 サイト作成時に新しいサイトテンプレートを選択
サイトテンプレート(旧名:サイトデザイン)- 使い方
Connect-SPOService -Url https://orivers-admin.sharepoint.com
# ②テンプレートサイトからスクリプトを自動作成する
$template = Get-SPOSiteScriptFromWeb `
-WebUrl https://orivers.sharepoint.com/sites/template-site `
-IncludeBranding `
-IncludeTheme `
-IncludeRegionalSettings `
-IncludeSiteExternalSharingCapability `
-IncludeLinksToExportedItems `
-IncludedLists ("Shared Documents", "Lists/List", "SitePages")
$template | Out-File D:¥M365VM¥SiteTemplate¥site-template.json
$content = Get-Content D:¥M365VM¥SiteTemplate¥site-template.json -Raw
# ④サイトスクリプトをテナントに登録する
$siteScript = Add-SPOSiteScript `
-Title "M365VM-0427" `
-Description "M365VMデモテスト用" `
-Content $content
# ⑤サイトテンプレートを作成する
Add-SPOSiteDesign `
-Title "M365VM-0427" `
-WebTemplate "64" `
-SiteScripts $siteScript.Id `
-Description "M365VMデモテスト用"
April, 26. – 28. 2021
MICROSOFT 365 VIRTUAL MARATHON 2021
m365virtualmarathon.com #M365VM
Demo
サイトテンプレート
m365virtualmarathon.com #M365VM
▪ PnP リモートプロビジョニングとは
 SharePoint 開発者コミュニティ(SharePoint PnP コミュニティ)により開発された SharePoint の自動展開を行う
ためのフレームワーク及びエンジン。
 オープンソースコミュニティにより開発されたツールのため、マイクロソフトのサポートは無し。
 PowerShell 及び CSOM から利用可能。
 SharePoint に関する設定の他にテナントレベルの設定が可能。
▪ 実行可能なアクション
 テナント設定
 サイトテンプレート、サイトスクリプトの登録
 アプリカタログへのパッケージ登録
 SharePoint サイトコレクション、Teams サイト・チャネルの作成
 Azure Active Directory アカウント登録、ライセンス付与 などなど
 SharePoint 設定
 サイトテンプレートでできること全て
 SharePoint グループの作成、アクセス権の設定
 用語セット、用語の登録
 検索設定 などなど
PnP リモートプロビジョニング - 概要
m365virtualmarathon.com #M365VM
① テンプレートサイトを作成する
 いつも通りサイトを作成
② テンプレートサイトからプロビジョニングテンプレートを
自動作成する
 Get-PnPSiteTemplate コマンドレットを実行
 Config ファイルを指定することで詳細な作成条件を指定可能
③ 必要に応じてプロビジョニングテンプレートを修正する
 XML ファイルをテキストエディタで修正
④ 任意のサイトテンプレートを使ってサイトを作成する
 標準テンプレートを含む任意のサイトテンプレートを使って
サイトを作成
⑤ プロビジョニングテンプレートを作成したサイトコレクションに適用する
 Invoke-PnPSiteTemplate コマンドレットを実行
PnP リモートプロビジョニング - 使い方
Connect-PnPOnline `
-Url https://orivers.sharepoint.com/sites/template-site `
-Interactive
# ②テンプレートサイトからプロビジョニングテンプレートを自動作成する
Get-PnPSiteTemplate -Out D:¥M365VM¥PnP¥site-template-pnp.xml
Connect-PnPOnline `
-Url https://orivers.sharepoint.com/sites/standardteamsite `
-Interactive
# ⑤プロビジョニングテンプレートを作成したサイトに適用する
Invoke-PnPSiteTemplate -Path D:¥M365VM¥PnP¥site-template-pnp.xml
# はじめてPnPを利用する際に実行
Install-Module -Name PnP.PowerShell
April, 26. – 28. 2021
MICROSOFT 365 VIRTUAL MARATHON 2021
m365virtualmarathon.com #M365VM
Demo
PnP リモートプロビジョニング
m365virtualmarathon.com #M365VM
▪ サイトテンプレートと PnP リモートプロビジョニングを使用することで、モダンサイトのテンプレート
化が可能となる。
▪ ただし、エンドユーザーが利用することができないため、テナントレベルでテンプレートの管理が必要
となる。
※CSOM でツールを開発すれば、ユーザーサイドでもサイコレ管理者権限をがあれば扱えるようにできそう。
▪ それでも、モダンサイトをテンプレート化できることは、サイトを効率的に作成する上では必須なこと
なのでありがたい。
▪ サイトテンプレートも PnP リモートプロビジョニングも積極的にアップデートが行われているため、今
後の展開に期待!
まとめ
m365virtualmarathon.com #M365VM
▪ SharePoint サイト デザインとサイト スクリプトの概要 | Microsoft Docs
▪ PnP リモート プロビジョニング | Microsoft Docs
参考
m365virtualmarathon.com #M365VM
スピーカーやイベントへのフィードバック
http://bit.ly/M365VM21JPTrackFeedback
April, 26. – 28. 2021
MICROSOFT 365 VIRTUAL MARATHON 2021
m365virtualmarathon.com #M365VM
Q&A

Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ

  • 1.
    April, 26. –28. 2021 MICROSOFT 365 VIRTUAL MARATHON 2021 m365virtualmarathon.com #M365VM SharePoint サイトの自動作成あれこれ 及川 紘旭 @HiroakiOikawa アドバンスド・ソリューション株式会社
  • 2.
    MICROSOFT 365 VIRTUALMARATHON 2021 SPONSORS
  • 3.
    m365virtualmarathon.com #M365VM ▪ 及川紘旭(Hiroaki Oikawa), 1976年生まれ, 神奈川県出身 ▪ アドバンスド・ソリューション株式会社 代表取締役社長兼 SharePoint 導入コンサルから開発まで何 でも担当 ▪ SharePoint 歴は15年ほど。 ▪ Microsoft MVP for Office Servers and Services 2007年10月~2016年9月 for Office Development 2016年10月~ ▪ ブログ SharePoint Developer (https://sharepoint.orivers.jp) 自己紹介
  • 4.
    m365virtualmarathon.com #M365VM AGENDA ▪ SharePointサイトの自動作成の現状 ▪ SharePoint サイトの新しい自動作成手段 ▪ サイトテンプレート ▪ PnP リモートプロビジョニング ▪ まとめ ▪ Q&A
  • 5.
    m365virtualmarathon.com #M365VM ▪ 使えなくなってしまった「サイトテンプレート」 SharePoint サイトを任意の構成で素早く作成するために便利な機能でしたが、モダン UI な SharePoint サイトで はこの機能が使えなくなってしまいました。 ▪ 使えなくなってしまった「Server Side Object Model (SSOM)」  SharePoint サイトを自動作成するために、オンプレ SharePoint では SSOM を使用してサイトの自動作成を行うた めのプログラムを開発していましたが、オンラインでは SSOM が使えなくなってしまいました。 SharePoint サイトの自動作成の現状 クラシック モダン ない!! これまでの機能に代わり、 SharePoint Online のモダンサイトでも使える新しいサイト自動作成機能が提供されるようになりました。
  • 6.
    m365virtualmarathon.com #M365VM SharePoint Onlineモダンサイトで利用可能な新しいサイト自動作成手段は3つ(下表#1~#3)あります。 SharePoint サイトの新しい自動作成手段 # 手段 標準 機能 モダン 対応 難易度 利用者 できること 1 サイトテンプレート (旧名サイトデザイン) 〇 〇 中 SharePoint 管理者 サイトの一部パラメータの自動設定、リ スト作成、アイテム作成、テーマの設定 2 PnP リモートプロビジョニング × 〇 高 SharePoint 管理者 サイトのほぼすべてのパラメータの自動 設定、リスト作成やアイテム作成を含む SPOに関する多くのパラメータの自動設 定 3 Client Side Object Model (CSOM) 〇 〇 最高 開発者 サイトのほぼすべてのパラメータの自動 設定、リスト作成やアイテム作成を含む SPOに関する多くのパラメータの自動設 定 4 従来のサイトテンプレート 〇 × 低 サイト 所有者 サイトのほぼすべてのパラメータの自動 設定、リスト作成、アイテム作成
  • 7.
    m365virtualmarathon.com #M365VM ▪ サイトテンプレートとは サイト作成時またはサイト作成後に、サイトに対して任意のアクションを実行するための機能。  サイトテンプレートには、サイトスクリプト(実行するアクションを JSON で記述したファイル)を複数指定するこ とができる。  サイトテンプレート、サイトスクリプトは、ユーザーが使えるようにするために、PowerShell にてあらかじめテ ナントに登録しておく必要がある。 ▪ 実行可能なアクション  リスト、ライブラリ、サイト列、コンテンツタイプの作成  ナビゲーションリンクの追加/削除、テーマの適用、サイトロゴの設定  ブランディングプロパティ(ヘッダーレイアウト、ヘッダー背景)の設定  ハブサイトの結合、サイトの地域設定、外部共有設定の構成  サイト機能のアクティブ化  SharePoint グループにユーザーを追加  アドイン、ソリューション、SharePoint Framework 拡張機能のインストール  Power Automate の実行 サイトテンプレート(旧名:サイトデザイン)- 概要 サイトスクリプト (JSON ファイル) アクション アクション アクション サイトテンプレート 1 n
  • 8.
    m365virtualmarathon.com #M365VM ① テンプレートサイトを作成する いつも通りサイトを作成 ② テンプレートサイトからサイトスクリプトを自動作成する  Get-SPOSiteScriptFromWeb コマンドレットを実行 ③ 必要に応じてサイトスクリプトを修正する  JSON ファイルをテキストエディタで修正 ④ サイトスクリプトをテナントに登録する  Add-SPOSiteScript コマンドレットを実行 ⑤ サイトテンプレートを作成する  Add-SPOSiteDesign コマンドレットを実行 ⑥ 新しいサイトテンプレートを使ってサイトを作成する  サイト作成時に新しいサイトテンプレートを選択 サイトテンプレート(旧名:サイトデザイン)- 使い方 Connect-SPOService -Url https://orivers-admin.sharepoint.com # ②テンプレートサイトからスクリプトを自動作成する $template = Get-SPOSiteScriptFromWeb ` -WebUrl https://orivers.sharepoint.com/sites/template-site ` -IncludeBranding ` -IncludeTheme ` -IncludeRegionalSettings ` -IncludeSiteExternalSharingCapability ` -IncludeLinksToExportedItems ` -IncludedLists ("Shared Documents", "Lists/List", "SitePages") $template | Out-File D:¥M365VM¥SiteTemplate¥site-template.json $content = Get-Content D:¥M365VM¥SiteTemplate¥site-template.json -Raw # ④サイトスクリプトをテナントに登録する $siteScript = Add-SPOSiteScript ` -Title "M365VM-0427" ` -Description "M365VMデモテスト用" ` -Content $content # ⑤サイトテンプレートを作成する Add-SPOSiteDesign ` -Title "M365VM-0427" ` -WebTemplate "64" ` -SiteScripts $siteScript.Id ` -Description "M365VMデモテスト用"
  • 9.
    April, 26. –28. 2021 MICROSOFT 365 VIRTUAL MARATHON 2021 m365virtualmarathon.com #M365VM Demo サイトテンプレート
  • 10.
    m365virtualmarathon.com #M365VM ▪ PnPリモートプロビジョニングとは  SharePoint 開発者コミュニティ(SharePoint PnP コミュニティ)により開発された SharePoint の自動展開を行う ためのフレームワーク及びエンジン。  オープンソースコミュニティにより開発されたツールのため、マイクロソフトのサポートは無し。  PowerShell 及び CSOM から利用可能。  SharePoint に関する設定の他にテナントレベルの設定が可能。 ▪ 実行可能なアクション  テナント設定  サイトテンプレート、サイトスクリプトの登録  アプリカタログへのパッケージ登録  SharePoint サイトコレクション、Teams サイト・チャネルの作成  Azure Active Directory アカウント登録、ライセンス付与 などなど  SharePoint 設定  サイトテンプレートでできること全て  SharePoint グループの作成、アクセス権の設定  用語セット、用語の登録  検索設定 などなど PnP リモートプロビジョニング - 概要
  • 11.
    m365virtualmarathon.com #M365VM ① テンプレートサイトを作成する いつも通りサイトを作成 ② テンプレートサイトからプロビジョニングテンプレートを 自動作成する  Get-PnPSiteTemplate コマンドレットを実行  Config ファイルを指定することで詳細な作成条件を指定可能 ③ 必要に応じてプロビジョニングテンプレートを修正する  XML ファイルをテキストエディタで修正 ④ 任意のサイトテンプレートを使ってサイトを作成する  標準テンプレートを含む任意のサイトテンプレートを使って サイトを作成 ⑤ プロビジョニングテンプレートを作成したサイトコレクションに適用する  Invoke-PnPSiteTemplate コマンドレットを実行 PnP リモートプロビジョニング - 使い方 Connect-PnPOnline ` -Url https://orivers.sharepoint.com/sites/template-site ` -Interactive # ②テンプレートサイトからプロビジョニングテンプレートを自動作成する Get-PnPSiteTemplate -Out D:¥M365VM¥PnP¥site-template-pnp.xml Connect-PnPOnline ` -Url https://orivers.sharepoint.com/sites/standardteamsite ` -Interactive # ⑤プロビジョニングテンプレートを作成したサイトに適用する Invoke-PnPSiteTemplate -Path D:¥M365VM¥PnP¥site-template-pnp.xml # はじめてPnPを利用する際に実行 Install-Module -Name PnP.PowerShell
  • 12.
    April, 26. –28. 2021 MICROSOFT 365 VIRTUAL MARATHON 2021 m365virtualmarathon.com #M365VM Demo PnP リモートプロビジョニング
  • 13.
    m365virtualmarathon.com #M365VM ▪ サイトテンプレートとPnP リモートプロビジョニングを使用することで、モダンサイトのテンプレート 化が可能となる。 ▪ ただし、エンドユーザーが利用することができないため、テナントレベルでテンプレートの管理が必要 となる。 ※CSOM でツールを開発すれば、ユーザーサイドでもサイコレ管理者権限をがあれば扱えるようにできそう。 ▪ それでも、モダンサイトをテンプレート化できることは、サイトを効率的に作成する上では必須なこと なのでありがたい。 ▪ サイトテンプレートも PnP リモートプロビジョニングも積極的にアップデートが行われているため、今 後の展開に期待! まとめ
  • 14.
    m365virtualmarathon.com #M365VM ▪ SharePointサイト デザインとサイト スクリプトの概要 | Microsoft Docs ▪ PnP リモート プロビジョニング | Microsoft Docs 参考
  • 15.
  • 16.
    April, 26. –28. 2021 MICROSOFT 365 VIRTUAL MARATHON 2021 m365virtualmarathon.com #M365VM Q&A