PowerShell を使用してカスタム モデルを発行する
適用対象: ✓ すべてのカスタム モデル |✓すべての事前構築済みモデル
重要
Microsoft Syntex PowerShell コマンドレットとその他のすべての PnP コンポーネントは、アクティブなコミュニティがサポートするオープンソース ツールです。 公式の Microsoft サポート チャネルのオープン ソース ツールのサポート用 SLA ではありません。
Syntex モデルは通常、テナント全体のドキュメント ライブラリにデプロイされます。 これはコンテンツ センター サイトを使用して行うことができますが、この記事で説明するように PnP PowerShell を使用して行うこともできます。
コンテンツ センターで使用可能なモデルを一覧表示する
現在の Syntex コンテンツ センター サイトに追加されたモデルの概要を取得するには、 Get-PnPSyntexModel コマンドレットを使用します。
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/yourContentCenter"
Get-PnPSyntexModel
モデルをライブラリに適用する
モデルをライブラリに適用するには、 Publish-PnPSyntexModel コマンドレットを使用します。
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/yourContentCenter"
Publish-PnPSyntexModel -Model "Contract Notice" -ListWebUrl "https://contoso.sharepoint.com/sites/finance" -List "Documents"
モデルが使用される場所を理解する
多くのライブラリにモデルをデプロイしたら、モデルを使用してライブラリの一覧を確認できます。 これは、 Get-PnPSyntexModelPublication コマンドレットを使用して行うことができます。
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/yourContentCenter"
Get-PnPSyntexModelPublication -Identity "Contract Notice"
ライブラリからのモデルの削除
ライブラリからのモデルの削除は、適用と同じパターンに従います。また、 Unpublish-PnPSyntexModel コマンドレットを使用して、対話形式で、または複数のアクションのバッチとして実行できます。
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/yourSite"
Unpublish-PnPSyntexModel -Model "Invoice model" -ListWebUrl "https://contoso.sharepoint.com/sites/finance" -List "Documents"
モデルを一括で適用する
複数のモデルを複数のライブラリに発行する場合は、モデルとターゲットの場所を一覧表示する入力 CSV ファイルを作成します。
ModelName,TargetSiteUrl,TargetWebServerRelativeUrl,TargetLibraryServerRelativeUrl
Contract Notice,https://contoso.sharepoint.com/sites/Site1,/sites/Site1,/sites/site1/shared%20documents
Contract Notice,https://contoso.sharepoint.com/sites/Site1,/sites/Site1,/sites/site1/other
Trade Confirmation,https://contoso.sharepoint.com/sites/Site2,/sites/Site2,/sites/site2/shared%20documents
この CSV ファイルは、一覧表示されたモデルを適切なライブラリに発行するスクリプトへの入力として使用できます。 次の例では、バッチ処理を使用して要求の効率を高めます。
$contentCenterURL = "https://contoso.sharepoint.com/sites/yourSite"
$targetsCSV = "./Publish-SyntexModelBulk.csv"
Connect-PnPOnline -url $contentCenterURL
$targetLibraries = Import-Csv -Path $targetsCSV
$batch = New-PnPBatch
foreach ($target in $targetLibraries) {
Publish-PnPSyntexModel -Model $target.ModelName -TargetSiteUrl $target.TargetSiteUrl -TargetWebServerRelativeUrl $target.TargetWebServerRelativeUrl -TargetLibraryServerRelativeUrl $target.TargetLibraryServerRelativeUrl -Batch $batch
}
Invoke-PnPBatch -Batch $batch