J'ai une requête dans SCCM qui va prendre une adresse IP de l'imprimante et retourner tous les postes de travail dans SCCM sur lesquels l'imprimante est installée. Je veux créer un script powershell qui prendra cette requête et utilisera les postes de travail qu'il retourne pour ensuite lister les travaux d'impression en cours dans la file d'attente d'impression sur le poste de travail.Utilisation de la requête WQL de SCCM dans powershell
Je sais que vous pouvez utiliser Get-CIMInstance -query
pour interroger différentes choses dans WMI. Cela fonctionne bien si j'essaie de trouver de l'information localement. Toutefois, si je jette la requête WQL dans un Here-String
et l'affecte à une variable, puis appelez-le avec Get-CIMInstance -query
il renvoie une erreur en disant invalid query
. La même chose se produit lorsque j'utilise Get-WmiObject -Namespace "root\wmi" -Query $WQlquery
Alors, comment pourrais-je utiliser la requête WQL de SCCM en Powershell? Voici un exemple de ce que j'ai jusqu'à présent:
$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
En supposant que travaillé et a renvoyé une liste des ids de postes de travail, je puis utiliser Get-Printjob
cmdlet à la liste les travaux en cours dans chaque file d'attente d'impression des postes de travail. J'ai déjà trouvé quelques questions qui m'ont aidé à aller aussi loin. Toute aide supplémentaire serait appréciée. Vas-y doucement, toujours un newb ici.
Quelle est la question réelle ici? –
Alors, comment pourrais-je utiliser la requête WQL de SCCM dans PowerShell? – Ozar