用于在 Sharepoint 中创建计算字段的 Powershell 脚本

Powershell script to create calculated field in Sharepoint

我在 Sharepoint 列表中有一个使用此公式计算的列。

=CONCATENATE("

我认为我需要使用 Add-PnPFieldFromXml 而不是使用 Add-PnPField,因为这允许我将计算字段的输出指定为文本。仍在为语法苦苦挣扎。

使用逐字字符串文字(' 而不是 ")——那么您需要转义的唯一字符是 ':

$expression = 'CONCATENATE("<a href=''https://apps.powerapps.com/play/qqq?CABID=",[CAB Number],"''>",Title,"</a>")'

Add-PnPField -List $ListName -DisplayName 'PowerAppLink' -InternalName PowerAppLink -Type Calculated -Formula $expression -AddToDefaultView

首先,确保计算列公式正确。您可以通过 SharePoint 在列表中创建计算列 UI 以查看公式是否正常工作。

例如:

公式:

=CONCATENATE("<a href=''https://apps.powerapps.com/play/qqq?CABID=",[CAB Number],"''>",[Title],"</a>")

那么,请运行以下PNP Powershell作为管理员

$SiteURL = "https://echodu.sharepoint.com/sites/TeamSite1"

$ListName= "ListD"
  
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

$ex = '=CONCATENATE("<a href=''https://apps.powerapps.com/play/qqq?CABID=",[CAB Number],"''>",[Title],"</a>")'

Add-PnPField -List $ListName -Type Calculated -InternalName "PowerAppLink" -DisplayName "PowerAppLink" -Formula $ex -AddToDefaultView

这成功了。 $FormulaPowerappLink = "=CONCATENATE("