これまでサーバーのすべてのプリントジョブを管理するためのスクリプトを作成していましたが、これまでステータス「完了」のジョブのみを消去できました。 printjobが1時間以上経過した場合にスクリプトがジョブを削除する必要があるifを追加しました。1時間以上の「寿命」のあるプリントジョブを削除するスクリプト
私は本当にこれが働いているとは思えません。それはすべて消去されているようですので、どこで失敗しているのか分かりませんし、スクリプトも常にelse条件になります。
$nombre = hostname
$old = (Get-Date).AddHours(-1)
Write-Host $nombre
if (Get-Printer -ComputerName $nombre | Get-Printjob | where {$_.timesubmitted -lt $old -and $_.JobStatus -match "Complete" -and $_.JobStatus -notmatch "Spooling"} | Remove-PrintJob){
Write-Host "Eliminados los trabajos completados mas antiguos de una hora" }
else {
Write-Host "No se han encontrado trabajos que coincidan con los parametros"
}