En un post anterior vimos como eliminar todos los trabajos de la cola de impresión:
Windows: Eliminar trabajos cola impresión (SYSADMIT.com)
A partir de PowerShell 3.0 incluida en Windows Server 2012 y Windows 8 es posible administrar los trabajos de impresión utilizando cmd-lets.
De esta forma podremos eliminar de forma selectiva trabajos en las colas de impresión de las impresoras.
Veamos tres ejemplos de uso:
Windows: Eliminar trabajos cola impresión (SYSADMIT.com)
A partir de PowerShell 3.0 incluida en Windows Server 2012 y Windows 8 es posible administrar los trabajos de impresión utilizando cmd-lets.
De esta forma podremos eliminar de forma selectiva trabajos en las colas de impresión de las impresoras.
Veamos tres ejemplos de uso:
1) Eliminar todos los trabajos de todas las impresoras cuyo estado de la impresora no sea: "Normal".
Get-Printer | where {$_.PrinterStatus -ne "Normal"} | Get-Printjob |Remove-PrintJob
Funcionamiento:
- Get-Printer: Después de su ejecución
podemos ver la información de las impresoras como: nombre, puerto,
driver utilizado, estado de la impresora, etc..
- where {$_.PrinterStatus -ne "Normal"}: Filtramos el estado de la impresora a algo distinto a: "Normal", por ejemplo, se mostrarán las impresoras que están pausadas. El operador -ne, significa: "Not equal"
- Get-Printjob: Obtenemos la lista de trabajos de las impresoras obtenidas tras la ejecución de Get-Printer.
- Remove-PrintJob: Eliminamos todos los trabajos de la cola de impresión. La lista de trabajos se obtiene tras la ejecución de: Get-Printjob
2) Eliminar todos los trabajos de todas las impresoras cuyo estado del trabajo de impresión sea: "Error".
Get-Printer | Get-PrintJob | where {$_.JobStatus -match "Error"} | Remove-PrintJob
Funcionamiento:
- Get-Printer: Igual que en el ejemplo anterior.
- Get-PrintJob: Igual que en el ejemplo anterior.
- where {$_.JobStatus -match "Error"}: Filtramos los jobs de impresión. Solo mostramos aquellos jobs con estado de "Error".
- Remove-PrintJob: Igual que en el ejemplo anterior.
3) Eliminar todos los jobs de impresión de todas las impresoras del servidor de impresión: PRINTSRV1
Get-Printer -ComputerName PRINTSRV1| Get-PrintJob | Remove-PrintJob
No hay comentarios:
Publicar un comentario