SharePoint Online中Set-PnPListItem无法设置Enterprise Keywords值
解决PnP PowerShell设置Enterprise Keywords无生效问题
问题原因
直接传入术语ID字符串无法被SharePoint托管元数据字段识别,Enterprise Keywords的内部字段名为TaxKeyword,属于托管元数据类型,需要特定格式的字段值才能正确解析。
解决办法
方法1:使用ID+名称的组合格式
托管元数据字段接受"术语ID;#{术语名称}"格式的值,替换实际术语名称后执行:
Set-PnPListItem -List $ListName -Identity $Item.Id -Values @{"TaxKeyword"="4992bb31-d492-4e07-821c-dee7448a4605;#{你的标签名称}"}
方法2:通过PnPTerm动态获取术语信息
如果不知道术语名称,可以先查询术语对象,再组装正确的值:
# 获取指定ID的术语(需根据实际术语组/术语集调整参数) $term = Get-PnPTerm -Identity "4992bb31-d492-4e07-821c-dee7448a4605" -TermSet "Keywords" -TermGroup "Site Collection Term Group" # 组装托管元数据字段值 $taxKeywordValue = "$($term.Id);#$($term.Name)" # 更新列表项 Set-PnPListItem -List $ListName -Identity $Item.Id -Values @{"TaxKeyword"=$taxKeywordValue}
额外检查项
- 确认
Get-PnPFile返回的$Item有效:执行Write-Host $Item.Title验证是否获取到目标文件的列表项 - 确认当前账号对目标列表项有编辑权限
- 确认
TaxKeyword字段在目标列表中已启用(默认文档库会启用,自定义列表需手动开启)
内容的提问来源于stack exchange,提问作者AshMSport
相关产品推荐
相关产品推荐

