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

좋은 웹페이지 즐겨찾기