C#을 사용하여 네트워크 환경에 나타나는 모든 컴퓨터 이름을 가져 오는 방법이 있는지 궁금합니다.내 네트워크 환경에서 컴퓨터 이름 가져 오기
답변
NetServerEnum() API를 사용하는 것이 좋습니다. http://www.codeproject.com/Articles/16113/Retreiving-a-list-of-network-computer-names-using
참고 : 내가 시험 또는 철저하게 CodeProject의 코드를 검토하지 않은하지만 난 거기에 기본 .NET 라이브러리에서 이것에 대한 관리되는 래퍼는하지만 빠른 구글 검색에 이것을 발견 할 수 있었다 생각하지 말아 어떤 문제가있는 경우 필요한 것의 출발점으로 충분해야합니다.
EDIT : 도메인 환경이 확실하지 않은 경우 DirectoryServices를 사용하지 마십시오.. System.DirectoryServices 클래스는 쿼리 할 Active Directory없이 작업을 수행하는 ADSI 래퍼입니다. NetServerEnum()은 작업 그룹 및 도메인에서 작동하지만 가장 신뢰할 수있는 데이터를 보장하지는 않습니다 (일부 시스템이 표시되지 않을 수도 있음). 그것은 컴퓨터 브라우저 서비스에 의존합니다.
가장 좋은 방법은 아마 결과를 모두 가능성을 감싸고 병합 클래스 될 것이다 :/
이것은 매우 어리석은 질문 일지 모르지만, 'net view> computerListing.txt'를 실행하는 것이 더 쉽지 않을까요? StreamReader를 사용하여 읽기 만하면됩니다. –
정말 고마워요! 당신의 설명은 제가 이해하는 데 정말로 도움이되었습니다! –
이 방법은 효과가 있지만 시간이 오래 걸립니다. :/
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. Windows 네트워크에서 네트워크 사용자 이름 가져 오기
- 3. Active Directory에서 컴퓨터 이름 가져 오기
- 4. 웹 응용 프로그램에서 컴퓨터 사용자 이름 가져 오기
- 5. VBScript - 컴퓨터 이름 및/또는 전체 네트워크 파일 경로 가져 오기
- 6. 작업 그룹의 컴퓨터 가져 오기
- 7. 네트워크 계층 (컴퓨터 네트워크, Tanenbaum)
- 8. Powershell을 사용하여 네트워크 폴더에서 파일 이름 만 가져 오기
- 9. Django 프로덕션 환경에서 가져 오기 오류가 발생했습니다.
- 10. 네트워크 공유에있는 가져 오기 모듈
- 11. 컴퓨터 이름
- 12. 지속성 이름 가져 오기
- 13. QPushButton의 이름 가져 오기
- 14. 데이터베이스 이름 가져 오기?
- 15. 인스턴스 이름 가져 오기
- 16. C에서 네트워크 사용률 가져 오기
- 17. 클라이언트의 컴퓨터 이름 얻기
- 18. 네트워크 컴퓨터 설정에서 FileSystemWatcher
- 19. 클라이언트 컴퓨터 상태 가져 오기 하드웨어 상태
- 20. ant build.xml의 환경에서 CLASSPATH 가져 오기
- 21. Windows Forms의 Active Directory에서 컴퓨터 가져 오기
- 22. javax.scripting 자바 스크립트 환경에서 맵 가져 오기
- 23. InArgument에서 변수 이름 가져 오기
- 24. Powershell에서 스크립트 이름 가져 오기
- 25. 사진에서 이미지 이름 가져 오기
- 26. poco 속성 이름 가져 오기
- 27. 런타임에서 메서드 이름 가져 오기
- 28. 가상 컴퓨터 및 로컬 네트워크
- 29. jquery를 사용하여 배경 이미지 이름 가져 오기
- 30. 보기에서 어셈블리 이름 가져 오기
중복 질문 : http://stackoverflow.com/questions/5581140/in-c-sharp-how-do-i-get-the-list-of-local-computer-names-like-what-one- gets-view –
심지어 분명히 http://stackoverflow.com/questions/2557551/how-get-list-of-local-network-computers/2562302#2562302에서 속은 것으로 보입니다. –