PowerShell PnP脚本可遍历所有WebPart位置条款

时间:2019-10-19 11:28:13

标签: powershell sharepoint

我们需要一个SharePoint PnP PowerShell脚本来遍历所有WebPart位置条款并查询是否最近使用过。

到目前为止,我已经尝试构建PowerShell脚本来获取TermSet位置中Term中的所有条款。在其中获得了所有条款,但是得知我们需要更新代码以提取所有WebPart位置条款。我不知道如何进行。

Connect-PnPOnline $siteurl
Get-PnPTerm -TermSet "Location" -TermStore "Taxonomy" -TermGroup "People" | Select PathOfTerm, Name, ID, Owner, CreatedDate, LastModifiedDate | Export-CSV "C:/Terms/Terms1.csv"

一旦获得列表,我就必须使用Submit-PnPSearchQuery方法遍历它们,以查看是否返回任何行。如果确实如此,我们必须删除那些未列出的内容。到目前为止,我已经能够提取“位置”中所有术语的列表,但不确定WebPart位置术语的含义。

请帮助我了解如何使用SharePoint PnP PowerShell脚本提取WebPart位置条款的记录,然后我可以弄清楚如何查找其是否已使用。 谢谢!

1 个答案:

答案 0 :(得分:0)

能够自己解决这个问题:

我能够从Webpart位置术语中提取所有术语及其子术语。 我遇到的问题是我使用了错误的TermSet。使用下面的代码修复该问题之后,我能够在所需的条款集中提取所有条款和子条款的列表

Connect-PnPOnline $siteurl
$terms = Get-PnPTerm -TermSet “Webpart Locations” -TermGroup “People”
foreach ($term in $terms) {
    $cText = $term.Context
    $cText.Load($term.Terms)
    $cText.ExecuteQuery()
    $term.Terms | Select ID, Name, PathOfTerm, Owner, CreatedDate, LastModifiedDate | Export-CSV “C:\TermList.csv”

我还尝试查找$term.Terms上的以下代码是否使用了这些术语

Submit-PnPSearchQuery -Query “IsReused:False”  -All

在检查了csv并发现CreatedDate和LastModifiedDate相等之后,它返回了csv中的所有条款。 因此得出结论,我们必须找出其他方法来查找用户是否在SharePoint页面中使用了该术语。

希望有一天能对某人有所帮助! 谢谢!