2017-01-24 5 views
1

SCCM에서 프린터 IP 주소를 가져 와서 프린터가 설치된 SCCM의 모든 워크 스테이션을 반환하는 쿼리가 있습니다. 나는 쿼리를 받아서 워크 스테이션의 프린트 대기열에 현재 프린트 작업을 나열하기 위해 반환하는 워크 스테이션을 사용하는 powershell 스크립트를 만들고 싶습니다.powershell에서 SCCM의 WQL 쿼리 사용하기

Get-CIMInstance -query을 사용하여 WMI의 다른 항목을 쿼리 할 수 ​​있다는 것을 알고 있습니다. 로컬에서 정보를 찾으려는 경우 잘 작동합니다. 그러나 WQL 쿼리를 Here-String에 덤프하고 변수에 할당 한 다음 Get-CIMInstance -query으로 호출하면 invalid query이라는 오류가 반환됩니다. 사용시에도 같은 일이 발생합니다 Get-WmiObject -Namespace "root\wmi" -Query $WQlquery

그래서 powershell에서 SCCM의 WQL 쿼리를 어떻게 사용할 수 있습니까? 그 일을하고, 나는 각 워크 스테이션의 인쇄 대기열에서 현재 작업을 나열 Get-Printjob cmdlet를 사용합니다 워크 스테이션 ID의 목록을 반환 가정

$WQLquery = @" 
select SMS_R_System.Name from 
SMS_R_System inner join 
SMS_G_System_PRINTER_DEVICE on 
SMS_G_System_PRINTER_DEVICE.ResourceID = 
SMS_R_System.ResourceId where 
SMS_G_System_PRINTER_DEVICE.PortName like "10.10.10.10" 
"@ 

Get-CIMInstance -query $WQLquery 

: 여기에 지금까지 무엇을의 예입니다. 나는 여기에 이미 몇 가지 질문을 올려 놓았다. 추가 도움이 감사하겠습니다. 나에게 쉽게 가라. 아직도 여기 새다.

+0

실제 질문은 무엇입니까? –

+0

그럼 powershell에서 SCCM의 WQL 쿼리를 어떻게 사용할 수 있습니까? – Ozar

답변

2

원격 컴퓨터에서 실행중인 경우 sccm 사이트 root\sms\site_SITECODE 및 sccm-server의 네임 스페이스를 지정해야합니다. 예 :

$WQLquery = @" 
select SMS_R_System.Name from 
SMS_R_System inner join 
SMS_G_System_PRINTER_DEVICE on 
SMS_G_System_PRINTER_DEVICE.ResourceID = 
SMS_R_System.ResourceId where 
SMS_G_System_PRINTER_DEVICE.PortName like "10.10.10.10" 
"@ 

Get-WmiObject -Query $WQLquery -ComputerName "SCCMSERVER" -Namespace "root\sms\site_PRI" 
+0

고맙습니다. 또 하나의 질문은 네임 스페이스 속성과 관련하여 필요한 사이트 코드를 어디에서 찾을 수 있습니까? – Ozar

+0

이것은 고객을위한 기본 사이트입니다. 또한 중앙 사이트를 사용하는 경우이를 사용할 수 있습니다. sccm-server에 액세스 할 수 있으면이 사실을 알 수 있습니다. 클라이언트 및 서버의 WMI, 클라이언트의 구성 관리자 제어판 및 서버의 ConfigMgr 콘솔에 대한 창 제목 (콘솔 안의 많은 장소)에 나열되어 있습니다. –

+0

콘솔에 " - 에 연결 중"이라고 표시됩니다. 콘솔의 창 제목에서 같은 말합니다 .. " - 에 연결합니다. 사이트가 정의 된 adminsitration, 모든 장치의 사이트 속성 등을 볼 수도 있습니다. 거의 모든 곳에서 볼 수 있습니다.) –

관련 문제