共用方式為


使用 PowerShell 發佈自訂模型

適用于: ✓ 所有自訂模型 |✓ 所有預先建置的模型

重要事項

Microsoft Syntex PowerShell Cmdlet 和所有其他 PnP 元件都是開放原始碼工具,由提供支援的作用中社群所支援。 來自官方的 Microsoft 支援頻道沒有針對開放原始碼工具支援的 SLA。

Syntex 模型通常會部署到您租使用者的文件庫。 這可以使用內容中心網站來完成,但這也可以使用 PnP PowerShell 來完成,如本文所述。

在內容中心所列出的可用模型

若要取得新增至目前 Syntex 內容中心網站的模型概觀,請使用 Get-PnPSyntexModel Cmdlet:

Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/yourContentCenter"
Get-PnPSyntexModel

將模型套用至文件庫

若要將模型應用至文件庫,請使用 Publish-PnPSyntexModel Cmdlet:

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 cmdlet 來完成:

Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/yourContentCenter"
Get-PnPSyntexModelPublication -Identity "Contract Notice"

從文件庫移除模型

從文件庫移除模型時,會遵循進行套用時的相同模型,而且可以使用 Unpublish-PnPSyntexModel cmdlet 以互動方式或以多個動作的批次處理方式來完成。

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