PowerShell查詢和刪除打印任務(wù)操作代碼實例
適用于Windows 8.1或Server 2012 R2
Windows 8.1 和 Server 2012 R2上自帶了一個PowerShell組件:“PrintManagement“,它包含了所有管理本機(jī)和遠(yuǎn)程打印機(jī)的命令。
在之前的小技巧中,我們演示了如何讀取打印機(jī)任務(wù)。每一個打印任務(wù)都有一個屬性JobStatus ,用來表示該任務(wù)是否打印成功。
所有的狀態(tài)可以這樣獲取:
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
接下來就可以過濾已存在的任務(wù)了。比如你想列出打印任務(wù)是否已經(jīng)完成,或者遇到了故障:
$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'}
}
刪除打印任務(wù)也非常簡單,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
相關(guān)文章
PowerShell統(tǒng)計文件夾下文件個數(shù)的方法
這篇文章主要介紹了PowerShell統(tǒng)計文件夾下文件個數(shù)的方法,本文介紹了2種訪求實現(xiàn)這個需求,需要的朋友可以參考下2014-08-08
PowerShell函數(shù)中使用$PSBoundParameters獲取輸入?yún)?shù)列表實例
這篇文章主要介紹了PowerShell函數(shù)中使用$PSBoundParameters獲取輸入?yún)?shù)列表實例,需要的朋友可以參考下2014-07-07
PowerShell小技巧之獲取Windows系統(tǒng)密碼Hash
這篇文章主要介紹了使用PowerShell獲取Windows系統(tǒng)密碼Hash的小技巧,非常的實用,需要的朋友可以參考下2014-10-10
Powershell實現(xiàn)從注冊表獲取用戶配置腳本分享
這篇文章主要介紹了Powershell實現(xiàn)從注冊表獲取用戶配置腳本分享,本文直接給出實現(xiàn)腳本源碼,需要的朋友可以參考下2015-03-03
PowerShell中執(zhí)行Javascript的方法示例
這篇文章主要介紹了PowerShell中執(zhí)行Javascript的方法示例,特殊場景下可能會用到這個技巧,需要的朋友可以參考下2014-07-07
linux下非阻塞模式網(wǎng)絡(luò)通訊模型示例分享
這篇文章主要介紹了linux下非阻塞模式網(wǎng)絡(luò)通訊模型示例,需要的朋友可以參考下2014-02-02

