Como calcular o parâmetro StartTime / UntilTime usando Get-Printer no Powershell?

0

Eu tenho uma configuração de impressora usando a GUI e defino a disponibilidade da impressora de 18:40 até 3:00 Também recebi o comando PS "Get-Printer Printer1 | format-list"

O resultado do comando é:

StartTime   1000
UntilTime   60

Agora eu estou meio deprimido, eu não consigo entender como o inferno 18:40 é representado como o valor 1000 e 3:00 como o valor 60.

Eu tentei encontrar a resposta via google, mas as referências técnicas estão apenas me dando informações como

-StartTime UInt32 -- Specifies the starting time of printer availability.

Então, minha pergunta é como calcular o valor representado pelo parâmetro StartTime e UntilTime? Se necessário, posso adicionar mais valores. Apenas não consigo descobrir.

    
por Ivan Viktorovic 10.06.2014 / 21:30

4 respostas

1

Acredito que os dois valores sejam calculados em minutos desde 00:00 GMT . Isso colocaria você no GMT + 2. Isso funciona corretamente?

    
por 10.06.2014 / 21:50
2

Só para esclarecer sobre isso - há vários truques nessa questão:

1) Johnathan está certo - é uma pergunta capciosa. O truque, porém, vem do fato de que um usuário pode enviar um trabalho a qualquer momento para a impressora , independentemente da disponibilidade da impressora. O trabalho será mantido na fila até que seja atingido o StartTime - momento em que ele será impresso.

2) Como mencionado anteriormente, a impressora está em pausa. Nada é impresso, embora os usuários possam enviar trabalhos a qualquer momento.

3) StartTime e UntilTime são calculados usando o UTC, independentemente do fuso horário e estão em minutos. Então, se você definir seu StartTime como 0100 UTC, ele será exibido como "60". Este truque usa "1000" para enganá-lo a pensar que é "10 horas". Na verdade, são 4:40 da tarde UTC. "60" será 1:00 da manhã UTC. "600" vai ser 10:00 da manhã UTC.

4) Como a pergunta não indica o Fuso Horário, os horários não vão importar, porque os horários indicados na pergunta não serão os mesmos, digamos, para mim no UTC-7, para alguém na UTC + 2. Então ... OUTRO truque.

Mas decifrar os truques nos ensina muito.

Pelo menos a Microsoft não está usando tempo de época para isso.

-Tzo

    
por 28.03.2015 / 18:04
1

Os valores de Hora de início e Untiltime estão em minutos . O valor máximo é 1440 (minutos), o que equivale a 24 horas.

O truque é saber qual é o fuso horário real definido, para poder identificar a hora que o valor representa. Por exemplo:

Em Horário Universal Coordenado UTC , 0 = 12:00 am (é fácil calcular, pois cada valor corresponde a um minuto, 60 = 01:00, 120 = 02:00, etc.)

Em UTC + 01: 00 , 0 = 01:00 am (basta adicionar 1 hora da meia-noite para saber onde está o valor 0. depois, 60 será 02:00, 120 = 03:00 , etc.)

Em UTC-03: 00 , 0 = 21:00 (subtrair 3 horas da meia-noite, você recebe 0, depois 60 serão 22:00 e assim por diante)

Para perguntas relacionadas a um resultado da impressora, verifique também o status da impressora; se ela estiver em pausa, a impressora não imprimirá, mesmo que seja durante o tempo disponível. Se a questão não diz nada sobre o fuso horário do seu in, eu acho que não é possível saber qual a hora que o valor representa.

    
por 14.01.2016 / 00:16
0

O StartTime depende do TIMEZONE.

Suponha que você selecione UTC - Tempo Universal Coordenado, impressora disponível a partir de 4:40 PM == > StartTIME será 1000. Se você selecionar UTC-06: 00 - Central Time (EUA e Canadá), então StartTime será: 940.

Se você pegar o TESTE 410, eles fazem essa pergunta :) É a questão mais difícil ...

Suponha que o Tempo Universal Coordenado UTC (0), o Horário de Início: 1000 e o Tempo Útil 600 serão equivalentes a Disponível de: 16:40 às 10:00 AM.

Assim, a impressora imprimirá qualquer coisa das 4:40 às 10:00 da manhã. No entanto, outro truque que a Microsoft faz no teste é que a impressora está em pausa. Assim, você verá PrinterStatus: Paused. Então, nada é impresso.

    
por 12.08.2014 / 20:56