none
Script Power Shell Windows Server 2012 x64 RRS feed

  • 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 
                      }
      }
      }


    sábado, 13 de fevereiro de 2016 18:01

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
    }

    • Sugerido como Resposta Marcos SJ sexta-feira, 4 de março de 2016 14:41
    • Marcado como Resposta Marcos SJ segunda-feira, 7 de março de 2016 20:56
    sexta-feira, 4 de março de 2016 00:34

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.

    terça-feira, 1 de março de 2016 17:40
  • Boa tarde marcos

    Aparentemente ele não apresenta nenhum erro, o que acontece é que as impressoras não recebem a configuração para pausar os trabalhos de impressão.

    quinta-feira, 3 de março de 2016 18:42
  • [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
    }

    • Sugerido como Resposta Marcos SJ sexta-feira, 4 de março de 2016 14:41
    • Marcado como Resposta Marcos SJ segunda-feira, 7 de março de 2016 20:56
    sexta-feira, 4 de março de 2016 00:34
  • 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.

    segunda-feira, 7 de março de 2016 20:57