Forum
Merhaba ,
Bir kullanıcımız encrypted mail gönderebiliyor fakat karşı taraf açamıyor yada o kullanıcıya mail encrypted mail gönderemiyoruz. Durum şu şekilde, daha önce sistemde Exchange 2003 ve A isimli bir sertifika server bulunmaktaydı. Daha sonra A isimli sertifika server değiştirilip B isimli başka bir CA kuruluyor ve Exchange de 2003 ten 2007 ye migrate ediliyor. Bu arada kullanıcının accountuna ilişik olan sertifikada account bilgisiyle beraber kalıyor. Active Directory Users and Computers da Published Certificate tabında da eski sertifikası görünmüyor.
Kullanıcı signed mail attığında gelen sertifika yeni olan ve buna encrypted reply yaptığımda sertifika trusted değil diyor. Gelen signed maildeki sertifikaya baktıgımda trust olarak görünüyor yalnız. Gelen maildeki kullanıcıyı add to contacts diyerek gelen ekranda certificates e baktığımda bu eski sertifikayı da yenisini de görebiliyorum.Eski sertifika not valid görünüyor, birde default olarak görünüyor. Oradan eski sertifikayı remove ediyorum, default olanı yeniye çekip kaydediyorum fakat tekrar geri donup kontaklardan baktığımda hala eskisi duruyor ve default olarak yer alıyor. Bana kalırsa sorun Exchange Serverda , ve sorunu powershell komutuyla çözebilirim.
Sorunu tam anlatmak için hikaye kısmını uzun tuttum belki yanlış düşünüyorum diye ? Benim ihtiyacım olan bilgi ise powershell de bu user a baglı olan eski sertifikayı silmek yada bağlı bulunan iki sertifikayı da (tümünü) silmek işimi görür daha sonra yeni sertifika request edebilirim ne de olsa. Ayrıca emin olmak için powershell de silmeden önce başka sertifikası var mı kullanıcının görebileceğim bir komutta var mıdır ? Bilgi verebilir misiniz ?
Teşekkürler
Merhaba
Öncelikle sorunun exchange den kaynaklandığını pek düşünmüyorum. Zira exchange server user sertifikasına karışmaz
Bence sorun bozuk autoenrollment yapısından kaynaklanıyor. Tavsiye olarak active directory den kullanıcının sertifikasını aşağıda ki script ile silmenizi ardından sertifikayı autoenrollment tarafında revoke etmeniz.
Const ADS_PROPERTY_CLEAR = 1
Set objUser = GetObject _
("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
objUser.PutEx ADS_PROPERTY_CLEAR, "userCertificate", 0
objUser.SetInfo
ya da
On Error Resume Next
Const ADS_PROPERTY_DELETE = 4
Set objUserTemplate = _
GetObject("LDAP://cn=userTemplate,OU=Management,dc=NA,dc=fabrikam,dc=com")
arrUserCertificates = objUserTemplate.GetEx("userCertificate")
Set objUser = _
GetObject("LDAP://cn=MyerKen,OU=Management,dc=NA,dc=fabrikam,dc=com")
objUser.PutEx ADS_PROPERTY_DELETE, "userCertificate", arrUserCertificates
objUser.SetInfo
Merhaba Buğra Bey,
Verdiğiniz komutları denemeden önce hangisi ne işe yarıyor açıklayabilir misiniz ? Çunku kullanıcım sorun çıkartabilecek seviyede üst düzeyde olmasının yanı sıra işlemleri de bilerek yapmak ve öğrenmek adına benim içinde iyi olur.
Yardımınız için teşekkürler
Verdiğim scriptlerin 1. olanı kullanıcya publish edilmiş sertifikayı temizler, 2.olan ise sertifikayı ad yapısından tamamen kaldırır
2. script benim işimi göreceğine inanıyorum. teşekkür ederim , son birşey daha rica edicem sakıncası yoksa ?
2003 domain yapısında bu scripti nasıl çalıştırabilirim, code ları bir notepad a atıp *.vbs olarak kaydedip run etmem yeterli olur mu ?
olur tabi ama komut satırında, cscript c:\test.vbs olarak çalıştırırsanız scriptte bir hata olursa görürsünüz.
1. script i denedigimde C:\script1.vbs(2, 1) (null): Unspecified error seklinde hata aliyorum.
2. script i denedigimde hata almiyorum fakat sertifikalar published sertikilarda hala yeni sertifikayi goruyorum. Ayrica outlook tan add to contacts dedigimde certificate tabinda kullanicinin calismasini engelleyen eski sertikifikada duruyor.
LDAP i yanlis yazmis olsam ikincide hata verirdi, baska neden kaynaklaniyor olabilir ?
hata veren script'de MyerKen kısmı olan bolumude kendinize göre düzenlediniz mi? ve komutu hangi kullanıcı hangi serverda çalıştırıyosunuz
problem olmaması gerekirdi.