Merhaba arkadaşlar, bugün sizlere benim de karşılaştığım ve sharepoint on premise server tarafında sizlerinde karşılaşacağı bir sorundan ve bu sorunun çözümünden bahsedeceğim.
Bu hata da hem sharepoint log tarafında hem de event viewer tarafında tam bir hata logu bulunmadığından yönlendirilmesi ve çözüme ulaşmak biraz zor olacaktır. Bundan dolayı bu sorum için sorunun farm dahil bazı sunucularda sitelerin gelmesi ve bazılarında da gelmemesi gibi ya da genel olarak herhangi bir sorun yokken HTTP 500 Internal Server Error hatası vermesinden fark edebilirsiniz.
Bu hata kısmında yeni bir sunucu kurup farm sistemine dahil etseniz de ya da sunucu tarafında sharepoint configuration wizard çalıştırıldığı zaman da herhangi bir sorun olmadan tamamlanmaktadır. Tüm sharepoint sistemleri ve yapısı, servisler ve her kısım sorunsuz bir şekilde çalışmaktadır.
Yukarıda da göreceğiniz gibi bazı sunucularda siteler görseldeki gibi “HTTP 500 Internal Server Error” hatası vererek bu sayfayı açmaktadır.
Burada hatanın çözümü için hatanın verdiği sharepoint sunucusuna gitmeniz gerekmektedir. Bu sunucuda IIS açarak hata veren siteye gidiyoruz.
IIS açtıktan sonra sol menü de yer alan “Sites” altında siteyi buluyoruz ve tıkladığımızda açılan ekranda “IIS” kategorisi altında yer alan “Modules” başlığına tıklayarak giriyoruz.
Modules listesinde “SPRequestFilterModule” adındaki alanın boş olduğunu göreceksiniz. Bu hata bu kısmın boş olmasından kaynaklanmaktadır. Bu hata çözümü için aşağıdaki dört yöntemden biri ile çözebilirsiniz.
1. Modul Değerinin Tamamen Silinmesi
Bu alanı tamamen silebilirsiniz. Eğer silerseniz bu hatayı veren tüm sunucularda tüm sitelere girerek bunu silmeniz gerekecektir. Bir de çalışanlarda da eğer bu parametre dolu ise tekrar sorun yaratmaması için onları da silmenizi öneriririm.
2. Bu Değerin Manuel Olarak Doldurulması
Bu alanı diğer sunucularda da olduğu gibi her bir hata veren sunucu ve site de “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\isapi\sprequestfilteringmodule.dll” değeri ile güncellemeniz gerekmektedir. Buradaki path sharepoint versiyonuna göre değişebilir kontrol edebilir ya da çalışan sunucularda var ise bu değer oradan kopyalayabilirsiniz.
3. applicationHost.config Dosyasının Güncellenmesi
Eğer sharepoint sunucunuz da bir sürü web application var ise ve tek tek bunları güncellemeniz zaman alacaksa her bir sunucu da sadece “applicationHost.config” dosyasında güncelleme yaparak işlemi tamamlayabilirsiniz. Bunun için hata veren her bir sunucu da file explorer üzerinden “C:\Windows\system32\inetsrv\config” pathine gidip ilgili config dosyasını görebilirsiniz.
Bu dosya içerisinde yer alan “globalModules” tagının hemen içine aşağıdaki şekilde değişkenimizi eklememiz gerekmektedir.
1 |
<add name="SPRequestFilterModule" image="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\isapi\sprequestfilteringmodule.dll" preCondition="integratedMode,bitness64" /> |
Bu kısımda image tagı içinde yer alan dll path adresi sharepoint versiyonuna göre değişebilmeceğinden dolayı kontrol etmeniz gerekmektedir.
4. PowerShell Script
Eğer sorun yaşanan sunucularda aşağıdaki powershell scriptini çalıştırırsanız ilgili güncellemeyi yapıyor olacaktır.
1 2 3 |
$assembly = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $amsiReceiver = $assembly.GetTypes() | ?{$_.Name -eq "AntimalwareScanFeatureReceiver"} $amsiReceiver::EnsureGlobalConfiguration() |
Eğer sharepoint sürümünüz 2019 veya Subscription Edition versiyonu ise aşağıdaki komutu çalıştırmanız gerekmektedir.
1 2 3 |
$assembly = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $amsiReceiver = $assembly.GetTypes() | ?{$_.Name -eq "AntimalwareScanFeatureReceiver"} $amsiReceiver::ChangeGlobalConfiguration() |
Yukarıdaki dört yöntemden birini denedikten sonra ilgili alan doldu ise siteleriniz sorunuz olarak açıldığını göreceksiniz.
İlk Yorumu Siz Yapın