使用C#可以告訴我的程序運行的計算機是否是域控制器?如何判斷我的程序是否在域控制器上運行?
3
A
回答
1
枚舉的DC(從下面here片段) - 在結果列表中檢查您的服務器名稱:
public static ArrayList EnumerateDomainControllers()
{
ArrayList alDcs = new ArrayList();
Domain domain = Domain.GetCurrentDomain();
foreach (DomainController dc in domain.DomainControllers)
{
alDcs.Add(dc.Name);
}
return alDcs;
}
+2
希望他不是在談論.NET 1.x.如果是這樣的話,我希望你用列表
0
這是我想出了一個完整的功能,來回答這個問題。
public static bool ThisMachineIsADomainController()
{
Domain domain = Domain.GetCurrentDomain();
string thisMachine = String.Format("{0}.{1}",Environment.MachineName, domain.ToString());
//Enumerate Domain Controllers
List<string> allDcs = new List<string>();
foreach (DomainController dc in domain.DomainControllers)
{
allDcs.Add(dc.Name);
}
return allDcs.Contains(thisMachine);
}
2
較短的解決方案,只需檢查註冊表:
const string basename = "HKEY_LOCAL_MACHINE\\";
const string keyname = "SYSTEM\\CurrentControlSet\\Control\\ProductOptions";
string result = (string) Registry.GetValue(basename + keyname, "ProductType", "WinNT");
如果結果爲 「WINNT」 這是一個客戶機上。如果它是「ServerNT」,則服務器和「LanmanNT」是域控制器。
更多信息:https://technet.microsoft.com/en-us/library/cc782360%28v=ws.10%29.aspx
相關問題
- 1. 如何判斷我的Titanium應用程序是否在模擬器上運行?
- 2. 我的Perl程序如何判斷是否在mod_perl下運行?
- 3. 應用程序如何判斷它是否在hackintosh上運行?
- 4. 如何判斷進程是否由服務控制管理器運行
- 5. 如何判斷我是否在網絡服務器下運行?
- 6. 如何判斷AIX機器是否在power7 cpu上運行?
- 7. python程序如何判斷它是否在emacs中運行?
- 8. 如何判斷全屏應用程序是否正在運行?
- 9. 如何判斷OrbBasic程序是否正在運行
- 10. 如何判斷是否有控制檯
- 11. 如何判斷我的jQuery代碼是否在iFrame中運行?
- 12. 如何判斷我的Javascript代碼是否在Jint中運行?
- 13. 如何判斷我的應用程序是否第一次運行?
- 14. 如何判斷您的控制器操作是否有參數?
- 15. 如何判斷代碼是否在Google App Engine上運行?
- 16. 如何判斷WCF服務是否在主機上運行?
- 17. 如何判斷廚師是否在虛擬機上運行
- 18. 如何判斷一個偵聽器是否已經在運行?
- 19. 如何判斷我是否是「最新」的ASP.NET應用程序域?
- 20. 任何方式來判斷我的iPhone應用程序是否在運行時在調試器下運行?
- 21. 如何判斷OpenMP是否在我的C++程序中工作
- 22. 如何判斷我的Android應用是否由InstrumentationTestRunner運行?
- 23. 如何判斷PHP的垃圾收集器是否運行
- 24. 如何判斷我的容器是否在Kubernetes集羣內運行?
- 25. 如何判斷是否在Linux控制檯中運行而不是在ssh會話中運行?
- 26. 如何判斷我的視圖控制器是否會從內存中釋放?
- 27. 如何判斷線程是否通過其ID與C#運行
- 28. 如何判斷進程是否未運行?
- 29. 如何判斷我的應用程序是否已暫停?
- 30. 如何判斷某個進程是否在移動設備上運行
有一個網絡管理員,允許您的代碼在DC上運行?那麼,他可以告訴你。 – 2010-09-29 20:52:50