[英]Using WQL query from SCCM in powershell
我在SCCM中有一个查询,它将使用打印机IP地址并返回SCCM中所有已安装打印机的工作站。 我要创建一个将执行上述查询并使用返回的工作站的Powershell脚本,然后在工作站的打印队列中列出当前的打印作业。
我知道您可以使用Get-CIMInstance -query
WMI中的其他内容。 如果我尝试在本地查找信息,则效果很好。 但是,如果我将WQL查询转储到Here-String
并将其分配给变量,然后使用Get-CIMInstance -query
调用它,则会返回错误,指出invalid query
。 当我使用Get-WmiObject -Namespace "root\\wmi" -Query $WQlquery
时,会发生相同的事情
那么如何在Powershell中使用SCCM的WQL查询呢? 这是到目前为止我所拥有的一个例子:
$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
假设工作正常并返回了工作站ID列表,那么我将使用Get-Printjob
cmdlet列出每个工作站打印队列中的当前作业。 我发现这里已经发布了一些问题,这些问题已帮助我实现了这一目标。 任何其他帮助将不胜感激。 放轻松我,这里还是个新手。
如果要从远程计算机运行,则需要为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"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.