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