当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 在 SharePoint Online 中导出搜索结果?

作者:精品下载站 日期:2024-12-14 21:16:11 浏览:14 分类:玩电脑

如何使用 PowerShell 在 SharePoint Online 中导出搜索结果?


要求:运行搜索查询并使用 PowerShell 将搜索结果导出到 SharePoint Online 中的 CSV。

如何使用 PowerShell 搜索 SharePoint Online?

PowerShell 是在 SharePoint Online 中自动执行任务的好方法。使用 PowerShell,您可以从 SharePoint Online 环境中快速找到所需的信息。有时,您可能需要导出搜索结果以进行进一步分析或在其他应用程序中使用。在这篇博文中,我们将向您展示如何使用 PowerShell 在 SharePoint Online 中搜索内容并将搜索结果导出到 CSV。

使用关键字查询执行搜索并将结果导出到 CSV 与 CSOM 在我的另一篇文章中进行了解释:如何使用 PowerShell 关键字查询搜索 SharePoint Online?现在,我需要获取在 SharePoint 中创建的最新项目的列表项目 ID网上名单:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/DocHub"
$ListURL= "https://crescent.sharepoint.com/sites/DocHub/Documents"
$SearchQuery = "Path:" + $ListURL
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Perform Search     
$SearchResults = Submit-PnPSearchQuery -Query $SearchQuery -All -SelectProperties ListItemID -SortList @{Created="Descending"}
 
#Get the Last Created Item's ID
Write-host "The Latest Item ID is:" $SearchResults.ResultRows[0]["ListItemID"]

您的 SharePoint 网站上的任何位置都可能有一个具有特定名称的文件。使用“filename:something.docx”作为搜索查询来获取具有特定名称的所有文件。

用于搜索 SharePoint Online 网站的 PnP PowerShell

以下是用于在 SharePoint Online 网站中搜索内容的 PnP PowerShell:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/DocHub"
$SearchQuery = "Title:document* Path:" + $SiteURL

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Run Search Query     
$SearchResults = Submit-PnPSearchQuery -Query $SearchQuery -All

$Results = @()
foreach($ResultRow in $SearchResults.ResultRows)  
{  
    #Get All Properties from search results
    $Result = New-Object PSObject  
    $ResultRow.GetEnumerator()| ForEach-Object { $Result | Add-Member Noteproperty $_.Key $_.Value}  
    $Results+=$Result
}
$Results

要获取搜索结果的所有可用属性,请使用: $SearchResults.ResultRows[0] 它将获取搜索结果的所有属性:

  • 作者
  • 崩溃状态
  • 内容类
  • 内容类型ID
  • 文化
  • 深层链接
  • 描述
  • 显示作者
  • 多卡梅塔
  • 文件编号
  • 编辑器OWSUSER
  • 文件扩展名
  • 文件类型
  • 地理位置源
  • 命中突出显示的属性
  • HitHighlighted总结
  • 重要性
  • 索引文档ID
  • 是容器
  • 是文档
  • 是外部内容
  • 最后修改时间
  • 链接地址
  • 原始路径
  • 家长链接
  • 分区ID
  • 小路
  • 图片缩略图URL
  • pi搜索结果Id
  • 程序编号
  • 渲染模板ID
  • 结果类型 ID
  • 结果类型Id列表
  • 辅助文件扩展名
  • 节索引
  • 部分名称
  • 服务器重定向嵌入URL
  • 服务器重定向预览URL
  • 服务器重定向URL
  • 网站说明
  • 站点ID
  • 网站标志
  • 站点名称
  • 尺寸
  • 网站网址
  • 标题
  • 唯一身份
  • 网址区
  • 观看次数终身
  • 最近浏览次数
  • 网络标识
  • 网页模板
  • 工作编号

搜索 SharePoint Online 网站并将结果导出到 CSV 文件

让我们从 SharePoint Online 网站搜索所有 Excel 文件并将搜索结果导出到 CSV 文件。


#Parameters
$SiteUrl = "https://crescent.sharepoint.com/sites/Marketing"
$SearchQuery = "*.xlsx Path:" + $SiteURL
$CSVFile = "C:\Temp\ExcelFiles.csv"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteUrl -Interactive

#Execute Search 
$SearchResults = Submit-PnPSearchQuery -Query $SearchQuery -All -TrimDuplicates $False -SelectProperties Filename, Author, Size, ListItemID, LastModifiedTime

#Collect Data from search results
$Results = @()
ForEach ($ResultRow in $SearchResults.ResultRows) 
{     
    $Results += [pscustomobject] @{
        Filename   = $ResultRow["Filename"]
        Author = $ResultRow["Author"]
        Size = $ResultRow["Size"]
        LastModified = $ResultRow["LastModifiedTime"]
        ListItemID     = $ResultRow["ListItemID"]
        ParentFolder = $ResultRow["ParentLink"]
        URL       = $ResultRow["Path"]
    } 
}
$Results
#Export results to CSV
$Results | Export-Csv -Path $CSVFile -NoTypeInformation

该脚本搜索给定的查询并将搜索结果导出到 CSV 文件。

[玩转系统] 如何使用 PowerShell 在 SharePoint Online 中导出搜索结果?

请注意,此方法从搜索索引中查询文件,但索引计划中可能存在滞后,索引可能不是实时的。这是关于 Submit-PnPSearchQuery 的参考

总之,通过执行本文中概述的步骤,您可以使用 PowerShell 在 SharePoint Online 中搜索并导出搜索结果。这为管理员提供了一种方便且自动化的方式来快速查找所需的信息并对其采取行动。无论您需要导出数据用于报告、分析还是备份目的,使用 PowerShell 在 SharePoint Online 中搜索和导出搜索结果都是一种方便且有效的解决方案。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯