2012-09-03 1 views
0

을 원하면 -Query "SELECT * 이름 LIKE '% 로그온 %'WHERE 때 Win32_Service FROM"WQL 연산자처럼 REF 속성에 대해 작동하지

반환 결과,
의 일부 설정을 (미세을 작동)하지만이 프로그램을 실행할 때 다른 클래스의 비슷한 쿼리 REF 속성 예 : Win32_DependentService Antecedent 속성보다 쿼리가 유효하지 않습니다.

을 원하면 -Query "를 선택 * Win32_DependentService에서 어디 선행사 '%'와 같은" (작동하지 않습니다) (이것은 내 의도가 Win32_DependentService에있는 모든 항목을 표시하지 않는 것입니다, 예를 들어, 그리고 내가 적절한 있습니다 like 절.)

위의 질문은 쿼리가 유효하지 않음을 말해줍니다. ibbus` : MSDN
에서

Win32_DependentService는

class Win32_DependentService : CIM_ServiceServiceDependency 
{ 
    Win32_BaseService REF Antecedent; 
    Win32_BaseService REF Dependent; 
    uint16   TypeOfDependency; 
}; 

을 원하면 -Query "Win32_SystemDriver.Name =`* Win32_DependentService에서 선행사 = '\\\\ XXXXXXX 기계 \\ 루트 \\ cimv2를 선택"을 " '" 이것은 적절한 결과를 제공합니다.

왜 그렇습니까? 그것은 선입관 재산이 REF이기 때문에 그렇습니까?

가능한 경우 적절한 예제로 동작을 알려주고,이 경우 'like'를 사용하는 방법을 알려주십시오.

답변

0

나는 정말로 당신이하려고하는 것에 익숙하지 않습니다. 이것이 완전히 벗어난 경우 용서해주십시오.하지만 마음에 가장 먼저 떠오르는 점은 Windows 서비스의 이름은 간단한 문자열이며 선행은 같습니다. 당신이 당신의 좀 더 구체적인 where 절에서 당신이 어떤 종류의 경로를 제공하여 쿼리가 작동하도록해야한다는 것을 보여 주면, 아마도 와일드 카드는 문자열에서만 작동 할 것입니다.

gwmi -Query "select * from Win32_DependentService where Antecedent.Name like '%'" 

이 더 선행 또는 ID로 서비스를 처리 할 경우에도 유효한 구문입니다 확실하지 뭔가를 시도했습니다.

+0

작동하지 않았지만 느낌은 '할 수 있으면 비교'할 수 있어야합니다. – sri

0

LIKE 연산자는 문자열 (null이 아니지만 적어도 하나 이상의 문자)이 패턴과 일치하는지 확인합니다. 따라서 문이 - WHERE 값 LIKE '%' '- 값은 확인 할 필요가 없으므로 의미가 없습니다. WQL LIKE 연산자를 참조하십시오. http://msdn.microsoft.com/en-us/library/windows/desktop/aa392263(v=vs.85).aspx

+0

'%'는 모든 문자열과 일치해야합니다. 사용되는 경우 모든 인스턴스를 반환해야하는 경우에도 MSDN이 말합니다. '% Logon %'을 '%'로 바꾸면 Win32_service의 모든 인스턴스를 반환합니다. – sri

3

이 속성이 값이있는 (즉, 비어 있지 않은) 모든 레코드를 반환하려면 "Antecedent.Name IS NULL"을 사용해야합니다.

관련 문제