CA konsolunda Failed Request klasöründe bulunan Failed Request’lerin silinmesi

 

          Merhabalar , Konu basligindan da anlasilacagi üzere bu makalede CA konsolunda Failed Request klasöründe bulunan Failed Request’lerin silinmesi konusunda bir bilgilendirme yapmak istiyorum. Failed Requestler sizin hangi requestlerin fail oldugunu görmeniz açisindan oldukça yararli çiktilari vardir. Fakat çok sayida failed request olmasi CA database’inin boyutunun artmasina ve CA servisinin durup bir daha çalistirilamamasina varabilecek sonuçlar dogurabilir.Bu tür durumlardan kaçinmak için CA Jet database’inden bu failed requestler silinebilir. Bu islem için  asagidaki prosedür izlenmelidir.

1- Certification Authority ‘nin Full Back Up ‘ini aliniz.
Start –> All Programs –> Administrative Tools –> certification Authority 
CA ismi üzeri sag klik –> All Tasks –> Back up  CA

image

Registry Editor’ü Regedit komutu ile açiniz
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration lokasyonuna gelerek bu key’in üzerinde sag klik Export seçenegi seçerek oldugu gibi export edini

image

2-  Sorun olusturan AutoEnroll ‘leri devre disi birakiniz.Hangi template'in failed request olusturdugunu asagidaki linkteki yöntemler ile bulabilirsiniz
https://blogs.technet.com/b/askds/archive/2010/08.aspx?PageIndex=1

Burada yapilacak sey failed requestlerin hangi template den üretildigini bulmak için filtreleme kullanmaktir. Bunun için  :

Certification Authority konsolunda Failed Requests klasörü üzerinde sag klik –> View –> Filter seçiniz

image

Filter alaninda Add butonuna tiklayiniz. Add alaninda hangi request’in detayina bakacaksaniz onun RequestID ‘sini asagidaki sekilde belirtiniz.

 

image

 

image

Bu islem sonrasi filtrelenen request üzeri sag klik –> All Tasks –> View Attributes/Extensions seçenegini seçiniz

image

Sonrasinda açilan özelliklerde  Extension tabinda Certificate Template Information basligi altinda hangi template’in bu failed requestleri olusturdugunu görebilirsiniz. Bu asamada bu template’in özelliklerini ve autoenroll yapilip yapilmadigini kontrol ederek soruna neyin neden oldugu bulunulabilir.

Örnek olarak su senaryo belirtilebilir.

User Template olusturulup Subject Name’in e-mail adresi içermesi ayarlanmis ve autoenroll yapilmis olabilir. Bu islem sonrasi e-mail adresi olmayan userlar’in request’leri fail olacagi için bir çok failed request olusacaktir.

image

Bu asamalardan sonra gerekli template düzenlemeleri yapiniz ve sonrasinda 3. adima geçiniz.

3- Certification Authority servisini durdurunuz

4- Failed Request ‘leri asagidaki batch file yardimi ile CA database’inden siliniz. Içerigi bat olarak kaydediniz. Örnegin failed_requests_remove.bat
Sonra administrative cmd açip komutu su sekilde uygulayiniz
c:\failed_requests_remove.bat
Bu islem silme islemini bir loop’a sokar. Bu islem sonunda ise tüm failed requestler database’den silinmis olmasi gerekir

@echo off
:Top
Certutil –deleterow <date> Request
If %ERRORLEVEL% EQU -939523027 goto Top

örnek olarak

@echo off
:Top
Certutil -deleterow 1/01/2009 Request
If %ERRORLEVEL% EQU -939523027 goto Top

5- CA database’ini defrag ediniz.
https://support.microsoft.com/kb/930832/en-us

•    XXXXX.edb database’inin defragmantasyonunu saglamak için
•    %systemdrive%\windows\system32\certlog> lokasyonuna administrative komut satirindan geliniz
•    esentutl -d XXXXX.edb komutunu çalistiriniz . Burada XXXXX yerine edb ismini yazmaniz gerekmektedir.

6- CA servisini çalistiriniz ve Failed Request alanine control ediniz . Ayrica disk üzerindeki alani kontrol ediniz.

Kaynak :

https://blogs.technet.com/b/askds/archive/2010/08.aspx?PageIndex=1
https://support.microsoft.com/kb/930832/en-us