Isso deve ser bastante simples de se fazer em Powershell. Você encontrará powershell um pouco mais ao seu gosto vindo do * nix. No entanto, você estará trabalhando com o WMI, que é verdadeiramente uma bênção e uma maldição.
Algum código de exemplo que faz o que você quer (NÃO TESTADO):
$strComputer = "."
$PrintJobs = get-wmiobject -class "Win32_PrintJob" -namespace "root\CIMV2" -computername $strComputer | Where-Object { $_.StartTime -lt $($(Get-Date).addDays(-1)) }
foreach ($job in $PrintJobs) {
Write-Host "Canceling job $($job.JobId)"
$job.Delete
}
Basicamente, você só precisa obter todos os objetos do WMI, onde a hora de início é menor do que agora - 24 horas.