星期四, 11月 21, 2013

如何由C#程式判斷電腦是否已經加入網域

因為種種原因,我必須寫個程式讓電腦加入網域(Windows AD Domain)。

一般查到是用 System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;

但不知為何,這招在Windows 7/8/8.1有效,在Windows XP無效。



所以我就直接查機碼,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain
若沒有加入網域是空值(null),加入後則是網域名。

string domain = (string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Domain", null);

這招保證絕對有效。

沒有留言: