使用 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