您现在的位置是:网站首页> 编程资料编程资料
PowerShell查询和删除打印任务操作代码实例_PowerShell_
2023-05-26
401人已围观
简介 PowerShell查询和删除打印任务操作代码实例_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使用OpenFileDialog打开文件示例_PowerShell_
- PowerShell中调用WPF生成炫酷窗口实例_PowerShell_
- Powershell中可以使用的.Net实用静态方法_PowerShell_
- Powershell获取系统中所有可停止的服务_PowerShell_
- 用PowerShell代替批处理吧!_PowerShell_
- Powershell中请求WebServices并以JSON格式输出结果_PowerShell_
- Powershell中阻止”确认提示”的方法_PowerShell_
- PowerShell中实现混淆密码示例_PowerShell_
- Powershell展开对象数据结构并以JSON格式输出_PowerShell_
- PowerShell检查网卡状态和对应的电源设置_PowerShell_
