ค้นหารายการทั้งหมดที่เกินเกณฑ์การค้นหามุมมองรายการใน SharePoint
ความต้องการ:
คุณลักษณะการควบคุมปริมาณทรัพยากรใน SharePoint ควบคุมการใช้ทรัพยากรบน SharePoint Farm เพื่อการใช้งานที่เหมาะสมที่สุด ความต้องการของฉันคือการค้นหารายการทั้งหมดที่เกินขีดจำกัดการค้นหามุมมองรายการที่กำหนดค่าไว้ใน SharePoint
สคริปต์ PowerShell เพื่อค้นหารายการทั้งหมดที่เกินเกณฑ์การค้นหามุมมองรายการ:
สคริปต์นี้จะสแกนรายการทั้งหมดในแอปพลิเคชันบนเว็บและสร้างไฟล์ CSV ที่มีชื่อรายการ URL และคอลัมน์การค้นหาทั้งหมด โดยที่รายการนั้นเกินจำนวนสูงสุดที่กำหนดค่าไว้ในการตั้งค่าการควบคุมปริมาณแอปพลิเคชันเว็บในไซต์การดูแลระบบส่วนกลางของ SharePoint 2013
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Get the Web Application
$WebApp = Get-SPWebApplication "https://portal.crescent.com"
#Array to Hold Result - PSObjects
$ListResults = @()
#Get the Throttling Limit of the Web App
$Threshold = $WebApp.MaxQueryLookupFields
foreach($Site in $WebApp.Sites)
{
foreach($Web in $Site.AllWebs)
{
Write-host "Scanning site:"$Web.URL
foreach($List in $Web.Lists)
{
#Get Number of Lookup Fields
$LookupFields = $List.Fields | Where { $_.TypeDisplayName -eq "Lookup" -and $_.Hidden -eq $false}
if($LookupFields.Count -gt $Threshold)
{
$Result = New-Object PSObject
$Result | Add-Member NoteProperty Title($list.Title)
$Result | Add-Member NoteProperty URL($web.URL)
$Result | Add-Member NoteProperty Count($LookupFields.Count)
#Add the object with property to an Array
$ListResults += $Result
}
}
}
}
Write-host "Total Number of Lists Exceeding Lookup Threshold:"$ListResults.Count -f Green
#Export the result Array to CSV file
$ListResults | Export-CSV "c:\ListData.csv" -NoTypeInformation