首页 > 解决方案 > 使用 PowerShell 在 SharePoint Online 中查找查找字段中的所有值

问题描述

所以我一直在玩这个。我正在使用 SharePoint PnP 模块来尝试自动化一些 SharePoint 任务。

本质上,我正在尝试将新项目添加到具有查找字段的列表中。我现在的症结是尝试添加列表中尚不存在但存在于查找字段中的查找字段值。

我似乎无法找到一种方法来捕获查找字段本身中存在的内容,只是列表中查找字段中当前存在的内容。

$List_SkillsPerAgent = Get-PnPList -Identity SkillsPerAgent

$DCISkill = (Get-PnPListItem -List $List_SkillsPerAgent -Fields "wsp_ucc_spa_skill").FieldValues.wsp_ucc_spa_skill | Where-Object { $PSItem.LookupValue -eq 'DCISkill' } | Select-Object LookupId -First 1

$PhoneQueue = (Get-PnPListItem -List $List_SkillsPerAgent -Fields "wsp_ucc_spa_skill").FieldValues.wsp_ucc_spa_skill | Where-Object { $PSItem.LookupValue -eq $Queue.Replace('_', ' ') } | Select-Object LookupId -First 1

$Agent = (Get-PnPListItem -List $List_SkillsPerAgent -Fields "wsp_ucc_spa_Agent").FieldValues.wsp_ucc_spa_Agent | Where-Object { $PSItem.LookupValue -eq 'sip:somefakeemail@domain.com' } | Select-Object LookupId -First 1 

前两个步骤工作正常,因为这些值已经存在于列表中,但是最后一个 'sip:somefakeemail@domain.com' 不存在于列表中,所以我无法使用 Get-PnpListItem 找到它的 LookupID,但是它在查找字段 wsp_ucc_spa_Agent 中已经存在。

我试着弄乱 Get-PnpField 但还没有这样的运气。

无论如何要捕获该查找字段中的所有值?

标签: powershellsharepointsharepoint-online

解决方案


查阅字段中的值存储在您引用的父列表中。捕获查找字段中的所有值。我建议你在父列表中找到它们,lookupID 应该是父列表中的 listItem id。


推荐阅读