실행중인 응용 프로그램에서 Win32 API를 사용하여 응용 프로그램이 실행되고있는 Windows 워크 스테이션 또는 서버의 도메인 컨트롤러/주 도메인 컨트롤러를 확인하는 방법을 알고 싶습니다.프로그래밍 방식으로 도메인 컨트롤러/주 도메인 컨트롤러를 찾는 방법?
특히 컴퓨터의 호스트 이름이 주어지면 특정 컴퓨터에 대해 해당 호스트 이름을 확인하는 신뢰할 수있는 원본 이름을 찾고 싶습니다. (저는 이것이 도메인 컨트롤러라고 생각합니다.이 분야에 관한 지식이 매우 약해서 잘못된 질문을하고있을 수도 있습니다.).
나는이 일을 주장한 C# code fragment을 보았지만 Win32 API와 관련이 있는지 알 수 없습니다. "DC를 얻는 방법"은 많이 있지만 API가 아닌 명령 스크립트를 호출합니다.
누군가가 올바른 방향으로 나를 가리키는 경우, 코드를 가지고 있지만, 단계를 추출하는 데 숙제를 기꺼이 해줘서 기뻐.
Linux에 아날로그가 있습니까? (예 : 네임 서버를 찾기위한 네이티브 호출? 저는 Windows 도메인 컨트롤러가있는 리눅스 컨텍스트를 가정하지 않습니다).
(아하 ... 방금이 질문을 발견했습니다 : Get the domain name of a computer from Windows API) 편집 : 아마도 원하는 기능이 NetDCName일까요? 원하는 매개 변수는 어디에서 얻을 수 있습니까?).
EDIT April 19 : Eric의 힌트를 사용하여 NetDCName을 코딩/테스트했습니다. 예, 도메인 컨트롤러 이름이있는 경우 및 오류 신호가없는 경우이를 생성합니다. 이는 바로 기능 동작입니다.
그러나 함수 호출에는 몇 초가 걸린 것처럼 보입니다! 왜 그랬을까요? 이렇게하면 내가 시도하고있는 수표에 사용자가 볼 수없는 지연이 발생합니다.
답을 확인해 주셔서 감사합니다. 그러나 함수 호출에는 몇 초가 걸리는 것처럼 보입니다! 왜 그랬을까요? –
@IraBaxter RPC 시간 초과가 의심됩니다. msdn.com에서 해당 항목을 검색하십시오 (불행히도 입력하는 것처럼 보입니다). 그러면 유용한 정보를 찾을 수 있습니다. –
흠, 그렇습니다. RPC 기반의 조회가 많이 있다는 사실을 포함하여 오랜 시간이 걸리는 설명 http://support.microsoft.com/kb/247811이 있습니다. RPC 시간 초과에 대한 명시적인 참조를 보지 못했지만 모든 조회가 시도되고 모든 수신자가 활성 상태가 아닌 경우 시간 초과가 발생하는 것을 볼 수 있습니다. 그러나 정상적인 환경에서 기대할 수있는 행동입니까? 기사가 명확하지 않습니다. 다음 번에 모든 작업을 피하기 위해 무언가가 대답을 분명히 캐시한다고합니다. 나는 내부 네트워크에서 여러 번 조회를 시도했다. 모든 지연. –