我是靠谱客的博主 背后老虎,最近开发中收集的这篇文章主要介绍PowerShell查询和删除打印任务操作代码实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

适用于Windows 8.1或Server 2012 R2

Windows 8.1 和 Server 2012 R2上自带了一个PowerShell组件:“PrintManagement“,它包含了所有管理本机和远程打印机的命令。

在之前的小技巧中,我们演示了如何读取打印机任务。每一个打印任务都有一个属性JobStatus ,用来表示该任务是否打印成功。

所有的状态可以这样获取:

复制代码 代码如下:

PS> Import-Module PrintManagement
 
PS> [Microsoft.PowerShell.Cmdletization.GeneratedTypes.PrintJob.JobStatus]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.PrintJob.JobStatus])
Normal
Paused
Error
Deleting
Spooling
Printing
Offline
PaperOut
Printed
Deleted
Blocked
UserIntervention
Restarted
Complete
Retained
RenderingLocally

接下来就可以过滤已存在的任务了。比如你想列出打印任务是否已经完成,或者遇到了故障:

复制代码 代码如下:

$ComputerName = $env:COMPUTERNAME
 
Get-Printer -ComputerName $ComputerName |  ForEach-Object {
  Get-PrintJob -PrinterName $_.Name -ComputerName $ComputerName |
    Where-Object { $_.JobStatus -eq 'Complete' -or $_.JobStatus -eq 'Error' -or $_.JobStatus -eq 'Printed'}
 }

删除打印任务也非常简单,Remove-PrintJob即可:

复制代码 代码如下:

$ComputerName = $env:COMPUTERNAME
 
Get-Printer -ComputerName $ComputerName |  ForEach-Object {
  Get-PrintJob -PrinterName $_.Name -ComputerName $ComputerName |
    Where-Object { $_.JobStatus -eq 'Complete' -or $_.JobStatus -eq 'Error' -or $_.JobStatus -eq 'Printed'}
 } |
 Remove-PrintJob -CimSession $ComputerName

最后

以上就是背后老虎为你收集整理的PowerShell查询和删除打印任务操作代码实例的全部内容,希望文章能够帮你解决PowerShell查询和删除打印任务操作代码实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(152)

评论列表共有 0 条评论

立即
投稿
返回
顶部