Share via


New-CMQuery

Configuration Manager 쿼리를 만듭니다.

Syntax

New-CMQuery
   [-Comment <String>]
   -Expression <String>
   [-LimitToCollectionId <String>]
   -Name <String>
   [-TargetClassName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

이 cmdlet을 사용하여 Configuration Manager 쿼리를 만듭니다.

Configuration Manager 쿼리는 제공한 조건에 따라 사이트 데이터베이스에서 정보를 가져오는 WQL(WMI 쿼리 언어) 식을 정의합니다. WQL은 SQL과 비슷하지만 데이터베이스에 직접 연결하지 않고 SMS 공급자를 계속 통과합니다. 따라서 WQL은 여전히 역할 기반 액세스 구성을 준수합니다.

쿼리는 컴퓨터, 사이트, 컬렉션, 애플리케이션 및 인벤토리 데이터를 포함하는 대부분의 유형의 Configuration Manager 개체를 반환할 수 있습니다. 자세한 내용은 Configuration Manager 쿼리 소개를 참조하세요.

기본적으로 Configuration Manager 여러 쿼리를 포함합니다. Get-CMQuery cmdlet을 사용하여 기본 쿼리를 검토할 수 있습니다. WQL 식의 더 많은 예제는 예제 WQL 쿼리를 참조하세요.

참고

Configuration Manager 사이트 드라이브에서 Configuration Manager cmdlet을 실행합니다(예: PS XYZ:\>). 자세한 내용은 시작을 참조하세요.

예제

예제 1: 특정 버전의 서버에 대한 새 쿼리 만들기

이 예제에서는 Microsoft Windows Server 2012 시작하는 OS 캡션을 사용하여 클라이언트를 검색하는 Server 2016이라는 새 쿼리를 만듭니다. 이름, 마지막 로그온 사용자 이름OS 캡션의 세 가지 속성을 반환합니다.

New-CMQuery -Name "Server 2016" -Expression 'select SMS_R_System.Name, SMS_R_System.LastLogonUserName, SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "Microsoft Windows Server 2012%"' -TargetClassName "SMS_R_System" -LimitToCollectionId "SMS00001"

예제 2: 데스크톱 디바이스에 대한 쿼리 만들기

이 예제에서는 시스템 엔클로저 클래스의 섀시 형식 속성에 대한 특정 값을 가진 디바이스를 검색하는 Desktop 디바이스라는 새 쿼리를 만듭니다. 여러 속성을 반환하며 특정 컬렉션에 의해 제한됩니다.

New-CMQuery -Name "Desktop devices" -Expression 'select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ( "3", "4", "5","6", "7", "15","16")' -TargetClassName "SMS_R_System" -LimitToCollectionId "XYZ000049"

매개 변수

-Comment

선택적 주석을 지정하여 사이트에서 쿼리를 추가로 식별합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

이 매개 변수는 와일드카드 문자를 리터럴 문자 값으로 처리합니다. ForceWildcardHandling과 결합할 수 없습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Expression

결과에 표시할 특성과 결과를 제한하는 조건을 정의하는 WQL 문을 지정합니다.

WQL 문에는 큰따옴표(")가 포함된 경우가 많으므로 이 매개 변수의 값을 작은따옴표(')로 묶은 문자열로 설정합니다.

자세한 예제는 예제 WQL 쿼리를 참조하세요.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

이 매개 변수는 와일드카드 문자를 처리하고 예기치 않은 동작(권장되지 않음)으로 이어질 수 있습니다. DisableWildcardHandling과 결합할 수 없습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LimitToCollectionId

이 쿼리에 대한 컬렉션 제한을 구성하는 방법을 지정합니다.

  • 컬렉션이 제한되지 않음: 이 매개 변수의 값을 빈 문자열("")로 설정합니다. 기본 제공 변수를 $null 사용하지 마세요.
  • 컬렉션 제한: 컬렉션의 ID를 지정합니다. 예를 들어 "SMSDM003"모든 데스크톱 및 서버 클라이언트 컬렉션의 경우입니다 .
  • 컬렉션 프롬프트: 이 매개 변수의 값을 로 "<Prompt>"설정합니다.
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

쿼리의 이름을 지정합니다.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TargetClassName

쿼리를 반환할 개체 클래스의 이름을 지정합니다. 사용할 수 있는 개체 유형이 많이 있습니다. 다음 표에는 Configuration Manager 콘솔의 설명과 함께 몇 가지 일반적인 클래스 이름이 나열됩니다.

클래스 이름 설명
SMS_R_System 시스템 리소스
SMS_Program 프로그램
SMS_R_UserGroup 사용자 그룹 리소스
SMS_R_User 사용자 리소스
SMS_SiteAndSubsites 사이트 및 하위 사이트
SMS_R_UnknownSystem 알 수 없는 컴퓨터
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여줍니다. cmdlet이 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

출력

IResultObject