Bir süredir aklımda, No-IP ve benzeri servislerin yaptığı gibi, sabit bir ip adresine sahip olmayan istemcilerin bir dns sunucusu üzerindeki uygulamaya bağlanarak ip adreslerini bildirmeleriyle otomatik olarak DNS kayıtlarının güncellenmesini sağlamak ve bu sayede dışarıdan her an bu istemcilere ulaşabilmek fikri var.

   Bunun için biraz araştırma yapınca ihtiyacım olan şeyin WMI olduğunu buldum. Birçok farklı kullanımı olan WMI‘yın "root\MicrosoftDNS" isim uzayı altındaki (üzerine DNS kurulmuş olan Windows sunucularda bulunur) "MicrosoftDNS_AType" sınıfı tamda ihtiyacım olan şeymiş.

   C# ile hazırladığım windows uygulamasını wmvare üzerine kurduğum sanal makineyle test ettiğimde sorunsuz olarak AType tablosundan verilerimi alabildim; aynı tablo üzerindeki deneme alt etki alanına ait ip adreslerini de güncellemeyi başardım. Firewall’lara takılmak istemediğim için 80’ıncı port üzerinden yayınlanacak web servisi yazmak oldukça mantıklı geldi.; fakat servisimi yazıp sunucuma koyduğumda "Generic Error" ("Genel Hata") şeklinde bir hata mesajıyla karşılaştım ki ne olduğu hakkında hiç bir ipucu vermeyen sayılı hata mesajlarından biridir

  Hata hakkında daha detaylı bilgi edinebilmek için "C:\WINDOWS\system32\WBEM\Logs" dizini altındaki wbemcore.log dosyasına baktığımda "NT AUTHORITY\NETWORK SERVICE" kullanıcısıyla işlem yapıldığını gördüm. "Bilgisayar Yönetimi"nde WMI düğümüne giderek güvenlik sekmesi altından "root\MicrosoftDNS" düğümünde bu kullanıcıya tam yetki verdim. Tekrar web servisimi denedim; ama sonuç değişmedi

   Windows uygulamamda çalışan kodumun web servisinde çalışmamasının tek sebebini yetki olarak düşündüm. Son olarak kullanıcı gruplarına giderek "NETWORK SERVICE" kullanıcısını da sistem yöneticileri arasına ekledim. Web servisimi tekrar denediğimde bu sefer istedim sonucu aldım ve DNS kaydım güncellendi.

   Şimdilik bu problemimi çözdü; fakat iyi bir çözüm değil
   Bu problem üzerinde hala çalışıyorum. Başka bir çözümü olan varsa seve seve dinleyebilirim

Şu Yazıları da Sevebilirsiniz

Leave a Comment

* Bu formu kullanarak, verilerinizin bu web sitesi tarafından saklanması ve kullanılmasını kabul ediyorsunuz.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul Et Daha Fazla Bilgi