วิธีส่งออกผลการค้นหาใน SharePoint Online โดยใช้ PowerShell
ความต้องการ: เรียกใช้คำค้นหาและส่งออกผลลัพธ์การค้นหาเป็น CSV ใน SharePoint Online โดยใช้ PowerShell
จะค้นหา SharePoint Online โดยใช้ PowerShell ได้อย่างไร
PowerShell เป็นวิธีที่ยอดเยี่ยมในการทำให้งานใน SharePoint Online เป็นแบบอัตโนมัติ ด้วย PowerShell คุณสามารถค้นหาข้อมูลที่คุณต้องการจากสภาพแวดล้อม SharePoint Online ของคุณได้อย่างรวดเร็ว ในบางครั้ง คุณอาจต้องส่งออกผลการค้นหาเพื่อการวิเคราะห์เพิ่มเติมหรือนำไปใช้ในแอปพลิเคชันอื่นๆ ในโพสต์บนบล็อกนี้ เราจะแสดงวิธีใช้ PowerShell เพื่อค้นหาเนื้อหาใน SharePoint Online และส่งออกผลลัพธ์การค้นหาเป็น CSV
การใช้แบบสอบถามคำหลักเพื่อดำเนินการค้นหาและส่งออกผลลัพธ์ไปยัง CSV ด้วย CSOM ได้อธิบายไว้ในโพสต์อื่นของฉัน: วิธีค้นหา SharePoint Online โดยใช้ PowerShell-Keyword Query ตอนนี้ฉันต้องได้รับ ID รายการรายการของรายการล่าสุดที่สร้างใน SharePoint รายการออนไลน์:
#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 ของคุณ ใช้ “ชื่อไฟล์:something.docx” เป็นคำค้นหาเพื่อรับไฟล์ทั้งหมดที่มีชื่อเฉพาะ
PnP PowerShell เพื่อค้นหาไซต์ SharePoint Online
นี่คือ PnP PowerShell เพื่อค้นหาเนื้อหาในไซต์ SharePoint Online ของคุณ:
#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] ที่จะรับคุณสมบัติทั้งหมดของผลการค้นหา:
- ผู้เขียน
- สถานะการยุบ
- คลาสเนื้อหา
- ContentTypeId
- วัฒนธรรม
- ลิงก์ในรายละเอียด
- คำอธิบาย
- DisplayAuthor
- โดคาคเมตา
- รหัสเอกสาร
- บรรณาธิการOWSUSER
- นามสกุลไฟล์
- ประเภทไฟล์
- แหล่งที่มาทางภูมิศาสตร์
- HitHighlightedProperties
- Hitไฮไลท์สรุป
- ความสำคัญ
- IndexDocId
- IsContainer
- เป็นเอกสาร
- เป็นเนื้อหาภายนอก
- เวลาแก้ไขล่าสุด
- การเชื่อมโยงUrl
- เส้นทางดั้งเดิม
- ParentLink
- หมายเลขพาร์ติชัน
- เส้นทาง
- รูปภาพขนาดย่อURL
- piSearchResultId
- ProgId
- รหัสเทมเพลตการแสดงผล
- ResultTypeId
- ResultTypeIdList
- นามสกุลไฟล์รอง
- ดัชนีส่วน
- ชื่อส่วน
- ServerRedirectedEmbedURL
- ServerRedirectedPreviewURL
- URL ที่เปลี่ยนเส้นทางเซิร์ฟเวอร์
- คำอธิบายเว็บไซต์
- รหัสไซต์
- โลโก้ไซต์
- ชื่อไซต์
- ขนาด
- SPWebUrl
- ชื่อ
- ID ไม่ซ้ำกัน
- UrlZone
- ViewsLifeTime
- การดูล่าสุด
- WebId
- Webแม่แบบ
- รหัสงาน
- เขียน
ค้นหาไซต์ SharePoint Online และส่งออกผลลัพธ์เป็นไฟล์ CSV
มาค้นหาไฟล์ Excel ทั้งหมดจากไซต์ SharePoint Online และส่งออกผลลัพธ์การค้นหาเป็นไฟล์ 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
โปรดทราบว่าแนวทางนี้จะค้นหาไฟล์จากการค้นหาที่จัดทำดัชนีไว้ แต่ตารางการจัดทำดัชนีอาจมีความล่าช้า ดัชนีอาจไม่ใช่แบบเรียลไทม์ นี่คือข้อมูลอ้างอิงใน Submit-PnPSearchQuery
โดยสรุป ด้วยการทำตามขั้นตอนที่อธิบายไว้ในบทความนี้ คุณสามารถค้นหาและส่งออกผลลัพธ์การค้นหาใน SharePoint Online โดยใช้ PowerShell นี่เป็นวิธีที่สะดวกและเป็นอัตโนมัติสำหรับผู้ดูแลระบบในการค้นหาข้อมูลที่ต้องการอย่างรวดเร็วและดำเนินการกับข้อมูลนั้น ไม่ว่าคุณจะต้องการส่งออกข้อมูลเพื่อการรายงาน การวิเคราะห์ หรือการสำรองข้อมูล การใช้ PowerShell เพื่อค้นหาและส่งออกผลลัพธ์การค้นหาใน SharePoint Online เป็นโซลูชันที่สะดวกและมีประสิทธิภาพ
