Konuyu Paylaş : facebook gplus twitter

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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ile de yapılabilir. Bu durumda Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol sınıfının DomainRole değeri kontrol edilmeli:
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
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?
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

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi