手机
当前位置:查字典教程网 >脚本专栏 >PowerShell >PowerShell查询和删除打印任务操作代码实例
PowerShell查询和删除打印任务操作代码实例
摘要:适用于Windows8.1或Server2012R2Windows8.1和Server2012R2上自带了一个PowerShell组件:“P...

适用于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入门教程之编写和使用脚本模块实例

Powershell小技巧之去除多余的空格

PowerShell中查询错误编号信息的2个方法

PowerShell替换字符串操作符replace简明教程

PowerShell注册表操作命令总结

PowerShell脚本trap语句捕获异常写法实例

Powershell小技巧--远程对比服务配置

PowerShell脚本写的文件.ps1文件介绍

PowerShell函数中限制数组参数个数的例子

PowerShell中按文件后缀过滤的实现代码

精品推荐
分类导航