我想知道是否有一種方法可以獲取使用C#在我的網絡位置顯示的所有計算機名稱。從我的網絡位置獲取計算機名稱
回答
您將需要使用NetServerEnum()API。我不相信這是在基本.NET庫這個託管的包裝,但我可以用快速谷歌搜索發現這一點:http://www.codeproject.com/Articles/16113/Retreiving-a-list-of-network-computer-names-using
注:我沒有測試或徹底審查CodeProject上的代碼,但如果有任何問題,它應該足以作爲你所需要的起點。
編輯:除非確信域環境,否則請勿使用DirectoryServices。 System.DirectoryServices類是一個ADSI包裝器,無需Active Directory即可進行查詢。 NetServerEnum()適用於工作組和域,但不保證最可靠的數據(並非所有機器都可能顯示)。它依賴於計算機瀏覽器服務。
最好的解決方案很可能是一個包裝兩種可能性和合並結果的類:/
這可能是一個非常愚蠢的問題,但是,僅僅執行'net view> computerListing.txt'使用StreamReader讀取它並完成它會不會更容易? – 2014-01-31 09:06:19
非常感謝!你的解釋真的幫助我理解! – 2018-01-01 10:29:12
這可行,但需要一段時間。 :/
public List<String> ListNetworkComputers()
{
List<String> _ComputerNames = new List<String>();
String _ComputerSchema = "Computer";
System.DirectoryServices.DirectoryEntry _WinNTDirectoryEntries = new System.DirectoryServices.DirectoryEntry("WinNT:");
foreach (System.DirectoryServices.DirectoryEntry _AvailDomains in _WinNTDirectoryEntries.Children) {
foreach (System.DirectoryServices.DirectoryEntry _PCNameEntry in _AvailDomains.Children) {
if (_PCNameEntry.SchemaClassName.ToLower().Contains(_ComputerSchema.ToLower())) {
_ComputerNames.Add(_PCNameEntry.Name);
}
}
}
return _ComputerNames;
}
取決於用戶的權限,應用程序可能會或可能不會得到這些信息。
嘗試使用ActiveDirectory。這應該會爲您提供關於本地網絡的準確信息。
使用System.DirectoryServices。
- 1. 獲取網絡計算機的名稱
- 2. 從計算機網絡名稱獲取用戶名
- 3. 獲得網絡計算機名稱
- 4. 網絡上的計算機名稱,my.computer.name
- 5. 從網絡中的計算機獲取計算機描述
- 6. 通過網絡重新獲取計算機名稱
- 7. 獲取本地網絡計算機名稱列表
- 8. Python代碼掃描網絡以獲取計算機名稱
- 9. 從AD獲取計算機名稱
- 10. 獲取網絡計算機System.Environment.TickCount
- 11. 使用Win32網絡API獲取基於計算機名稱的本地計算機的IP地址
- 12. VBScript - 獲取計算機名稱和/或完整的網絡文件路徑
- 13. 獲取計算機名稱在Adobe AIR
- 14. 獲取客戶端計算機名稱
- 15. WIX獲取計算機名稱?
- 16. Java:通過計算機名稱獲取計算機規格
- 17. C#計算機名稱或網絡上的計算機ip關驅動器號
- 18. 計算機網絡中的位填充
- 19. 獲取當前位置使用網絡提供商的名稱
- 20. 如何獲取當前的網絡位置名稱?
- 21. 網絡上的計算機名VB.Net
- 22. 從虛擬機內部獲取Azure計算機實例名稱
- 23. 如何查找網絡計算機名稱和用戶登錄該計算機?
- 24. 從SSLSocket獲取簽名算法名稱的位置?
- 25. 獲取我的Mac的計算機名稱
- 26. 如何獲取在VB中訪問我的網頁的計算機的名稱?
- 27. 從取座標獲取位置名稱
- 28. 從活動目錄獲取計算機名稱和OU的
- 29. 獲取從計算機名稱列表中登錄的用戶
- 30. Android - 從網絡獲取位置一次
Duplicate question:http://stackoverflow.com/questions/5581140/in-c-sharp-how-do-i-get-the-list-of-local-computer-names-like-what-one- gets-view – 2012-04-19 20:34:35
甚至是那個顯然是從http://stackoverflow.com/questions/2557551/how-get-list-of-local-network-computers/2562302#2562302被騙的人。 – 2012-04-19 20:35:55