그래서, WMI는 Administrators
그룹의 구성원을 얻을 수있는 원격 시스템을 조회 Win32_GroupUser 클래스를 (C#)를 쿼리에서 얻은 문자열을 구문 분석에 실패 문자열로. 목록 (보안을 위해 변경된 이름)입니다. 도메인 사용자 joeblow
및 janedoe
은 실제로 해당 시스템의 로컬 관리자입니다.생성자 ManagementObject (문자열 경로)
\\MACHINE_NAME\root\cimv2:Win32_UserAccount.Domain="MACHINE_NAME",Name="localadmin"
\\MACHINE_NAME\root\cimv2:Win32_Group.Domain="OUR_DOMAIN",Name="Domain Admins"
\\MACHINE_NAME\root\cimv2:Win32_UserAccount.Domain="OUR_DOMAIN",Name="joeblow"
\\MACHINE_NAME\root\cimv2:Win32_UserAccount.Domain="OUR_DOMAIN",Name="janedoe"
나는 루프로 위의 결과를 가로 지른다. 그 안에, 내가 다음을 수행하십시오
ManagementObject isInThisUser = new ManagementObject(memberString);
내가 그래서 각 구성원 개체에서 도메인 이름 등록 정보를 추출 할 수있는 그렇게.
\\MACHINE_NAME\localadmin
\\OUR_DOMAIN\Domain Admins
\\OUR_DOMAIN\joeblow
\\OUR_DOMAIN\janedoe
을하지만, 여기에 일어나는 내용은 다음과 같습니다 : 완벽한 세상에서는, 나는 최종 결과 문자열의 folowing 목록을 가져올 것이라고 생성자를 사용하여 만든 ManagementObject
객체가 빈을 이리와! 도메인, 이름, 캡션, 모두, 모두 null
! 첫 번째 (로컬 관리자)를 제외하고. 그 중 하나의 경우 생성자는 광고 된대로 작동합니다.
왜 이런 일이 발생합니까? 사용자가 쿼리를 작성하는 것이 도메인 관리자가 아니기 때문입니까?