我想知道是否有一种方法可以获取使用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. 网络上的计算机名称,my.computer.name
- 3. 从网络中的计算机获取计算机描述
- 4. Python代码扫描网络以获取计算机名称
- 5. 获取本地网络计算机名称列表
- 6. 通过网络重新获取计算机名称
- 7. 使用Win32网络API获取基于计算机名称的本地计算机的IP地址
- 8. VBScript - 获取计算机名称和/或完整的网络文件路径
- 9. 获取客户端计算机名称
- 10. 获取计算机名称在Adobe AIR
- 11. WIX获取计算机名称?
- 12. C#计算机名称或网络上的计算机ip关驱动器号
- 13. 如何获取当前的网络位置名称?
- 14. 获取当前位置使用网络提供商的名称
- 15. 网络上的计算机名VB.Net
- 16. 获取我的Mac的计算机名称
- 17. 从活动目录获取计算机名称和OU的
- 18. 从网络浏览器获取位置
- 19. 获取计算机名
- 20. 从Active Directory中获取计算机名称
- 21. 如何从IP地址获取计算机名称?
- 22. 在C++/Windows中,我如何获取正在使用的计算机的网络名称?
- 23. 获取本地计算机的DNS名称,如远程计算机所示
- 24. 从坐标获取位置名称?
- 25. 我想网络共享计算机
- 26. 如何使用PHP获取计算机名称,计算机的本地IP和计算机的服务器IP
- 27. 为网络管理员获取重要的计算机信息
- 28. 如何获取本地网络计算机的列表?
- 29. 为您的计算机或网络获取公共IP
- 30. 提取计算机名称和型号等的网站
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