簡體   English   中英

使用C#以編程方式測試計算機是否在公司(AD)網絡上的最佳方法是什么?

[英]What's the best way to programmatically test if a computer is on your corporate (AD) network with C#?

我正在編寫一個應用程序,該應用程序必須能夠判斷主機是否在我的公司網絡中。

提出了一些解決方案:

  1. 根據網絡上的子集列表檢查IP

(不是很好,因為主機可能位於公司網絡中具有相同私有子網的位置)

  1. 通過DNS名稱ping內部主機

(此方法可以,但是很慢-我希望我的應用每隔x分鍾進行一次輪詢,以查看它是否在網絡上)

這應該能夠處理從公司網絡斷開然后連接(即通過VPN連接)的計算機。

有更好的方法嗎?

如果您知道域服務器的名稱,則可以檢查LOGONSERVER環境變量,並查看它是否與預期的域服務器名稱匹配:

var logonServer = Environment.GetEnvironmentVariable("LOGONSERVER");

if (logonServer == "MyExpectedDomainServerName")
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM