2014-03-31 8 views
0

WQL (WMI Query Language)에 익숙하지 않습니다. WQL을 사용하여 ConfigMgr 2012를 쿼리하려고하는데 쉼표로 구분 된 select 절에서 열 이름을 언급하려고 할 때 오류가 발생합니다. 오류는 반입 할 열이 배열 유형이고 널 값을 포함하는 경우에만 발생합니다. 배열 열에 값이 있으면 제대로 작동합니다. column이 배열이 아닌 유형 (문자열, int 등)이고 null 값을 포함하는 경우에도 동일하게 작동합니다. 내가 쿼리를 다음 졌지 때 잘 작동WQL (WMI Query Language)에서 Null 값의 배열 열을 가져 오는 중 오류가 발생했습니다.

: 나는 아래의 예제 쿼리를 정교했습니다

쿼리 # 1 : SELECT * from SMS_PROGRAM

하지만 쿼리를 다음 졌지 때 오류가 발생합니다 :

쿼리 # 2 : SELECT PackageID, SupportedOperatingSystems from SMS_PROGRAM 여기

(GenericFailure) with error code number 0x80041001

SupportedOperatingSystems 속성은 모든 레코드에 대한 널 (null)입니다 닷컴 e를 7 개의 레코드가 들어있는 결과 집합에 추가합니다. 이 속성은 SMS_OS_Details 클래스의 객체를 포함하는 배열입니다. wbemtest 도구를 사용하여 이러한 세부 정보를 얻었습니다. 어떤 사람이이 문제를 접하게되면 어떤 도움을 주시면 감사하겠습니다.

답변

0

저는 회사의 동료 중 한 사람의 대답을 받았습니다. 이것은 그가 나에게 대답 것입니다 :

http://msdn.microsoft.com/en-us/library/jj218055.aspx

속성 SupportedOperatingSystems가 게으른과 같이 정의하고있다 : 게으른 속성을 무엇하고는 아래에 언급 된 링크를 클릭하십시오 읽는 방법을

"You get the NULL specifically because it is a lazy property. You simply cannot include a lazy property in your select query the way you are doing it. You must use * and then parse the object."

아래 언급 된대로 MSDN 설명서 :

http://msdn.microsoft.com/en-us/library/cc144361.aspx