• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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中删除空格、点号、减号和换行方法代码实例
    • Shell脚本实现删除邮件队列
    • Shell脚本实现递归删除空文件夹
    • Shell脚本自动删除指定大小以上的备份文件
    • shell实现tr删除替换详解
    • Shell脚本实现删除一年前文件功能分享
    • 使用bash shell删除目录中的特定文件的3种方法
    • Shell中如何删除文本比较长的行的实现方法
    上一篇:Powershell使用OpenFileDialog打开文件示例
    下一篇:PowerShell中使用PrintManagement管理打印机示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell查询和删除打印任务操作代码实例 PowerShell,查询,和,删除,打印,