Usuário com melhor resposta
Script Power Shell Windows Server 2012 x64

Pergunta
-
Eu decidi criar um script para pausar os trabalhos de impressão, porem ele não está funcionando, vocês poderiam me dizer o que está faltando ou então melhorar ele para que o mesmo possa funcionar corretamente e realizar a função corretamente.
#Abaixo estão as impressoras que deverão receber a configuração, ao lado esquerdo está marcada com a variavel que será usada. $a = Get-PrintJob -PrinterName "NOV-COLOR" $b = Get-PrintJob -PrinterName "NOV-LASER" $IMPRESSORAS = $a,$b,$c,$d,$e,$f,$g While ($true) { If ($IMPRESSORAS -eq "1"){ foreach ($job in $IMPRESSORAS){ Suspend-PrintJob $IMPRESSORAS -ID $job.id } } }
Respostas
-
[Array]$Printers = "NOV-COLOR","NOV-LASER" # Create a printer array While ($True) { # Infinite Loop, stops ONLY if you close the Windows PowerShell window, job or something like that ForEach ($Printer in $Printers) { # Scoured the printers name [Array]$PrinterJobs = Get-PrintJob -PrinterName $Printer # Create a printer job array if there is anything If ($PrinterJobs) { # If $PrinterJobs is not empty... ForEach ($Job in $PrinterJobs) { # Scoured printer job if there is anything Suspend-PrintJob $Printer -ID $Job.Id # GOAL: Pause printer job } } } Start-Sleep 10 # Wait 10 seconds to redo the loop }
Todas as Respostas
-
Boa tarde Danilo Luiz,
Qual seria o erro sendo gerado pelo Script?
Atenciosamente
Marcos SJ Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
-
[Array]$Printers = "NOV-COLOR","NOV-LASER" # Create a printer array While ($True) { # Infinite Loop, stops ONLY if you close the Windows PowerShell window, job or something like that ForEach ($Printer in $Printers) { # Scoured the printers name [Array]$PrinterJobs = Get-PrintJob -PrinterName $Printer # Create a printer job array if there is anything If ($PrinterJobs) { # If $PrinterJobs is not empty... ForEach ($Job in $PrinterJobs) { # Scoured printer job if there is anything Suspend-PrintJob $Printer -ID $Job.Id # GOAL: Pause printer job } } } Start-Sleep 10 # Wait 10 seconds to redo the loop }
-
Boa tarde,
Por falta de retorno do usuário, esta thread será encerrada.
Caso seja necessário, por gentileza, abra uma nova thread.
Atenciosamente
Marcos SJ Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.