Web Servislerinde WMI Kullanımı

   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

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir