PowerShell kullanarak SharePoint Arama Sütunu Değerleri Boş Sorununu Düzeltme
Sorun: SharePoint arama sütunları aşağıdaki senaryolarda bozuluyor:
- Ana arama listesi silinip yeniden oluşturulursa, arama listesi ile arama sütunu arasındaki bağlantı kopacak ve boş değerler alacaksınız!
- Bir alt siteyi veya listeleri dışa/içe aktardığınızda, arama alanları üst listeden kaldırılır!
- Bir listeyi liste şablonları olarak kaydettiğinizde ve onu başka bir sitede kullandığınızda, ana arama listesini hedef sitede oluşturmuş olsanız bile, arama sütunu artık çalışmaz!
Temel Neden:
SharePoint arama sütunları, nesne her yeniden oluşturulduğunda yeniden oluşturulan WebID ve ListID GUID'leri aracılığıyla üst arama listesi sütununa bağlanır. Bu nedenle, üst arama listelerini dışa/içe aktardığınızda veya yeniden oluşturduğunuzda bu bağlantı kesilir.
SharePoint: Arama sütununu düzeltmek için PowerShell
Yukarıdaki senaryolardan herhangi biriyle karşılaşırsanız ve arama sütununuz bozulursa, arama sütununu üst listesine yeniden bağlamanız gerekir. SharePoint'teki arama sütunlarını düzeltmek için bu PowerShell betiğini kullanın.
SharePoint Arama Sütunu Boş Değerlerini düzeltmek için PowerShell Betiği:
Bu PowerShell, arama üst listesini bir arama sütunuyla yeniden bağlar:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Configuration Parameters
$SiteURL="https://intranet.crescent.com/"
$ListName="Project Milestones"
$LookupColumnName="Parent Project"
$LookUpListName="Projects" #Parent List
#Get the Objects
$Web = Get-SPWeb $SiteURL
$List = $web.Lists[$ListName]
$LookupList = $web.Lists[$LookUpListName]
$Column = $List.Fields[$LookupColumnName]
#Update column schema
$Column.SchemaXml = $Column.SchemaXml.Replace($Column.LookupWebId.ToString(), $Web.ID.ToString())
$Column.SchemaXml = $Column.SchemaXml.Replace($Column.LookupList.ToString(), $LookupList.ID.ToString())
$Column.Update()
Write-host "Lookup column fixed!" -f Green
Bu, SharePoint 2013/2016 arama sütunu boş değerleri sorununu düzeltir.
