2017-01-24 20 views
1

У меня есть запрос в SCCM, который возьмет IP-адрес принтера и вернет все рабочие станции в SCCM, на которых установлен принтер. Я хочу создать сценарий powershell, который будет принимать указанный запрос и использовать рабочие станции, которые он возвращает, чтобы затем отображать текущие задания печати в очереди печати на рабочей станции.Использование запроса WQL из SCCM в powershell

Я знаю, что вы можете использовать Get-CIMInstance -query для запроса различных вещей в WMI. Это хорошо работает, если я пытаюсь найти информацию локально. Однако, если я выгружаю WQL-запрос в Here-String и присваиваю ему переменную, а затем вызываю ее с Get-CIMInstance -query, она возвращает ошибку invalid query. То же самое происходит, когда я использую Get-WmiObject -Namespace "root\wmi" -Query $WQlquery

Так как же я могу использовать WQL-запрос из SCCM в powershell? Вот пример того, что я до сих пор:

$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 

Предполагая, что работал и возвратил список рабочих станций ид, я бы затем использовать Get-Printjob командлет список текущих заданий в каждой очереди печати рабочих станций. Я нашел здесь несколько вопросов, которые помогли мне зайти так далеко. Любая дополнительная помощь будет оценена по достоинству. Пойдите легко на меня, все еще newb здесь.

+0

Каков фактический вопрос здесь? –

+0

Итак, как я могу использовать WQL-запрос из SCCM в powershell? – 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

Спасибо. Еще один вопрос, касающийся атрибута namespace, где я могу найти код сайта, который мне нужен? – Ozar

+0

Это основной сайт для клиентов. Вы также можете использовать центральный сайт, если используете его. Если у вас есть доступ к sccm-серверу, вы это узнаете. Он указан в WMI на клиенте и сервере, панели управления конфигурационным менеджером на клиенте и в заголовке окна для вашей консоли ConfigMgr на сервере (+ много мест внутри консоли). –

+0

Ваша консоль говорит «Подключение к - ». В заголовке окна консоли он говорит то же самое .. «Подключено к - . Вы также можете посмотреть в админэпитации, где определены сайты, свойство сайта для любого устройства и т. Д. Это почти везде.: -) –

 Смежные вопросы

  • Нет связанных вопросов^_^