如何使用Powershell

时间:2018-11-16 20:26:46

标签: powershell

我正在寻找一种使用PowerShell的方法来检测新的打印作业何时到达打印队列。过去几天一直在搜索,而我想出的最好的方法是引用“ PRINTER_CHANGE_ADD_JOB”标志here,但没有关于如何使用它的信息。

我希望能够做一些类似线程的事情,这些话题涉及注册事件以监视文件夹中的新文件(例如,使用System.IO.FileSystemWatcher this TechNet article)。

是否有可比的打印队列?任何示例代码,甚至是文章或教程的指针,将不胜感激。我只是几个月前才开始使用PowerShell。

2 个答案:

答案 0 :(得分:0)

如果您有打印服务器,则可以使用PowerShell PrintManagment模块https://docs.microsoft.com/en-us/powershell/module/printmanagement/?view=win10-ps

问候 诗涵

答案 1 :(得分:0)

据我所知,我不认为有任何内置的PowerShell cmdlet可以满足您的需求。但是您可以使用Get-PrintJob模块将其编写脚本,也可以使用WMI获取此信息。如果您想收到通知,则可以写入事件日志,也可以将输出通过管道发送到send-mailmessage,并在打印作业出错时向您发送电子邮件通知。

Get-WMIObject Win32_PerfFormattedData_Spooler_PrintQueue |Select Name, @{Expression={$_.jobs};Label="CurrentJobs"}, TotalJobsPrinted, JobErrors