Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Bilgisayar domain sunucuya bağlı mı
#1
Bugün bilgisayarıma bir program kurmak istediğimde: bilgisayarım bir domain sunucuya bağlı çalıştığı için kurulumun yapılamayacağına dair uyarı çıktı. Evet, iş yerimizde domain server var ve bilgisayarlar buna bağlı çalışıyor. Ben de "bu nasıl tespit edebiliriz" diye merak ettim ve araştırdım:

netapi32.dll bize bu konuda yardımcı oluyormuş. Bunun içindeki NetGetJoinInformation fonksiyonu bilgisayarın bir domain'e yada workgroup'a bağlı olup olmadığını bize söylüyor. MSDN dokümanında da anlaşılacağı gibi fonksiyondan bize 2 değer dönüyor: lpNameBuffer ve  BufferType.  İlki eğer bilgisayar domain yada workgroup'a dahil ise "NetBIOS name"i, ikincisi ise "join status"u yani domain/wokgroup'a bağlı olup olmadığını gösteren parametre. 
Kullanımı:
function NetGetJoinInformation(lpServer: PWideChar; out lpNameBuffer: PWideChar;
 out BufferType: Integer): Cardinal; stdcall; external 'netapi32.dll';
function NetApiBufferFree(Buffer: Pointer): DWORD; stdcall; external 'netapi32.dll';

var
 NetBIOSName, durum: String;
 P: PWideChar;
 jStatus: Integer;
begin
 NetGetJoinInformation(nil, P, jStatus);
 NetBIOSName := P;
 NetApiBufferFree(P);

 case jStatus of
   0: durum := 'Bilinmeyen';
   1: durum := 'Üye değil';
   2: durum := 'Workgroup üyesi';
   3: durum := 'Domain Üyesi';
 end;

 ShowMessage(Format('%s - %s', [NetBIOSName, durum]));

Aynı kontrol WMI ile de yapılabilir. Bu durumda Win32_ComputerSystem sınıfının DomainRole değeri kontrol edilmeli:
https://theroadtodelphi.com/2011/10/20/w...d-domains/
There's no place like 127.0.0.1
WWW
Cevapla
#2
@SimaWB, bu iki teknikten hangisini daha hızlı buluyorsunuz, deneme imkânınız oldu mu?
P.Safa:Yaşlanarak değil, yaşayarak tecrübe kazanılır.Zaman insanları değil,armutları olgunlaştırır
C.Yücel:Toprak gibi olmalısın! Ezildikçe sertleşmelisin!Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı
S.Canan:Bildiğini zannettiğin an hiç bir şey öğrenemezsin
Bilgi uçar
WWW
Cevapla
#3
Karşılaştırma yapmadım ama WMI kesinlikle çok daha yavaş olacaktır.
There's no place like 127.0.0.1
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Çift Yönlü Bağlı Liste Ekleme,Silme,Listeleme,Arama narkotik 0 658 26-11-2018, Saat: 22:05
Son Yorum: narkotik
  Delphi Bağlı Liste Ekleme,Silme,Listeleme narkotik 1 892 21-10-2018, Saat: 14:59
Son Yorum: sabanakman



Konuyu Okuyanlar: 1 Ziyaretçi