SharePointのサイトデザインを利用して、リストを作成する方法をご紹介します。
事前準備
SharePoint Management Shell をインストール、もしくはPowerShellギャラリーからモジュールをインストールしておいてください。
今回実行するコードについて
今回実行するコードは、下記サイトを参考にしています。
サイトスクリプトを作成する
リストをつくるサイトスクリプト(JSONファイル)を作成し、保存しておきます。
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
"actions": [
{
"verb": "createSPList",
"listName": "Customer Tracking",
"templateType": 100,
"subactions": [
{
"verb": "SetDescription",
"description": "List of Customers and Orders"
},
{
"verb": "addSPField",
"fieldType": "Text",
"displayName": "Customer Name",
"isRequired": false,
"addToDefaultView": true
},
{
"verb": "addSPField",
"fieldType": "Number",
"displayName": "Requisition Total",
"addToDefaultView": true,
"isRequired": true
},
{
"verb": "addSPField",
"fieldType": "User",
"displayName": "Contact",
"addToDefaultView": true,
"isRequired": true
},
{
"verb": "addSPField",
"fieldType": "Note",
"displayName": "Meeting Notes",
"isRequired": false
}
]
}
],
"version": 1
}
サイトスクリプトをテナントに追加する
作成したサイトスクリプトを、テナントに追加します。
下記のps1ファイルを作成します。
# サイトデザインを展開したいURL $targetUrl = "https://<<tenant>>-admin.sharepoint.com/"; # SharePoint管理者のメールアドレス $mailAddress = "hoge@contoso.com"; # サイトスクリプト(JSONファイル)のパス $jsonPath = "C:\SiteScirpt.json"; # サイトスクリプトの名前 $siteScriptName = "CreateContsoList" Connect-SPOService -Url $targetUrl -credential $mailAddress Get-Content $jsonPath -Raw | Add-SPOSiteScript -Title $SiteScriptName
PowerShellを起動し、作成したps1ファイルのパスを貼り付け、[Enter] キーを押します。

認証が求められるのでパスワードを入力します。

認証が成功すると、サイトスクリプトが追加され、下記のような値が表示されます。
この中のIdはサイトデザインを追加する際に必要になります。

サイトデザインを追加する
サイトスクリプトが追加できたら、最後にサイトデザインの追加です。
先程と同様に、下記のps1ファイルを作成し、実行します。
$siteScriptIdには、先程取得したIdを入力します。
# サイトデザインを展開したいURL $targetUrl = "https://<<tenant>>-admin.sharepoint.com/"; # SharePoint管理者のメールアドレス $mailAddress = "hoge@contoso.com"; # サイトデザイン名 $siteDesignName = "Contso List"; # テンプレートナンバー $webTemplate = "64"; # サイトスクリプトのId $siteScriptId = "f205bb67-a21e-42df-b16c-9b33c535dda9"; # サイトデザインの説明 $siteDesignDescription = "Creates customer list and applies standard theme" Connect-SPOService -Url $targetUrl -credential $mailAddress Add-SPOSiteDesign ` -Title $siteDesignName ` -WebTemplate $webTemplate ` -SiteScripts $siteScriptId ` -Description $siteDesignDescription
下記のような値が返って来た場合は、正常にサイトデザインが追加されています。

サイトデザインを実行する
サイトデザインを実行したいサイトを開き、[ギアマーク] > [サイトデザイン] の順にクリックします。

サイトデザインのプルダウンの中から、先程追加したサイトデザインを選択し、[サイトに適用] ボタンをクリックします。

サイトデザインが実行され、リストが作成されます。

無事、リストが作成されていました!

以上です。サイトデザインを活用できれば、いろいろできそうですね!
補足1:サイトスクリプトについて
サイトスクリプトを簡単に作成できるサイトがあります。
ご参考までに。
www.sitedesigner.io
補足2:PowerShellの実行について
今回はPowerShellを実行するに当たり、ps1ファイルを作成したり、作成したファイルパスを貼り付けたり色々めんどくさい操作をしましたが、Visual Studio Codeを使用すればチャチャっとできます。
後日その操作方法の記事を書きます。(多分)