Delphi Can
Bilgisayar domain sunucuya bağlı mı - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: İpuçları (https://www.delphican.com/forumdisplay.php?fid=24)
+--- Konu Başlığı: Bilgisayar domain sunucuya bağlı mı (/showthread.php?tid=289)



Bilgisayar domain sunucuya bağlı mı - SimaWB - 12-10-2016

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/wmi-tasks-using-delphi-accounts-and-domains/


Bilgisayar domain sunucuya bağlı mı - uparlayan - 18-01-2018

@SimaWB, bu iki teknikten hangisini daha hızlı buluyorsunuz, deneme imkânınız oldu mu?


Bilgisayar domain sunucuya bağlı mı - SimaWB - 18-01-2018

Karşılaştırma yapmadım ama WMI kesinlikle çok daha yavaş olacaktır.