PowerShell kullanarak SharePoint'teki Bozuk Site Koleksiyonlarını Silmeye Zorlayın


Bugün SharePoint 2013 ortamında garip bir sorun var! Özel kod aracılığıyla sağlanan site koleksiyonlarından birine "404 sayfa bulunamadı" hatası nedeniyle erişilemiyor. Ancak söz konusu site merkezi yönetim altında listeleniyor >> Tüm site koleksiyonlarını görüntüle! Ancak Merkezi Yönetim'deki site koleksiyonu için içerik veritabanı vb. gibi başka ayrıntılar mevcut değildir.

Site koleksiyonunun “Bozuk!” olduğu sonucuna vardık. Bir sitenin bozulabileceği pek çok senaryo vardır, örneğin: Depolama ortamı arızası, ağ bağlantı sorunları, PowerShell cmdlet'lerinin yanlış kullanımı (Örneğin, Copy-SPSite'ı "DestinationDatabase" parametresi olmadan kullanırsanız, bir bozuk site!), vb.

Bu nedenle site koleksiyonunu SharePoint merkezi yöneticisinden silmeyi denedik ancak SharePoint merkezi yönetimi siteyi seçip silmeme izin vermedi. STSADM -o deleteSite ve Remove-SPSite'i denedim. span> PowerShell cmdlet'i şanssız!

Stsadm ve PowerShell yolları bir Hatayla sonuçlandı: 0x80070003

Çözüm: SharePoint'teki Bozuk Site Koleksiyonları Nasıl Silinir?

Bozuk site koleksiyonlarını STSADM veya PowerShell ile aşağıdaki yöntemlerle silebiliriz.

Bozuk site koleksiyonunu silmek için STSADM:
Adım 1: Silmemiz gereken sitenin site ID'si, Veritabanı Sunucusu, Veritabanı adı parametrelerine ihtiyacımız var. Çalıştır:

stsadm -o EnumAllWebs > SitesList.xml

Bu, aşağıdaki gibi site koleksiyonu kimlikleri, içerik veritabanı, veritabanı sunucusu vb. ayrıntıları içeren bir XML dosyası oluşturur.

Adım 2: Gerekli parametre değerlerini çıkarın ve bunu STSADM -o SilSite'a şu şekilde sağlayın:

stsadm -o deletesite -force -siteid “1252fd8f-a0ea-4ef9-9b66-4715f8e44b37” -databaseserver SP13-Ent-SQL01 -databasename SP13_Intranet_Content

Aynı yöntem bozuk site (web) için de geçerlidir. Örn.:
stsadm -o deleteweb -force -webid -databasename -databaseserver

Bozuk site koleksiyonunu PowerShell ile silin:

SharePoint'teki bozuk bir site koleksiyonunu silmek için bu PowerShell betiğini kullanın.


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$CorruptedSiteURL ="https://intranet.crescent.com/sites/sales"

#Get the site collection
$site = Get-SPSite $CorruptedSiteURL

#Get the GUID of the site collection
$siteGUID = $site.Id
Write-host "Site collection GUID:"$siteGUID

#Get the content Database of the Site collection
$siteDatabase = $site.ContentDatabase 

#Force delete the site collection
$siteDatabase.ForceDeleteSite($siteGUID, $false, $false)

İlgili makaleler