У меня есть настройка принтера с использованием графического интерфейса пользователя и настройка доступности принтера с 18:40 до 3:00. Также я получил команду PS «Get-Printer Printer1 | format-list»

Результат команды выдает:

StartTime   1000
UntilTime   60

Теперь я немного подавлен, я не могу понять, как ад 18:40 представлен как значение 1000, а 3:00 - как значение 60.

Я пытался найти ответ через Google, но технические ссылки дают мне только такую информацию, как

-StartTime UInt32 - указывает время начала доступности принтера.

Поэтому мой вопрос заключается в том, как рассчитать значение, представленное параметрами StartTime и BeforeTime? При необходимости я могу добавить больше значений. Просто не могу понять это.

4 ответа4

2

Просто чтобы уточнить это - есть несколько хитростей по этому вопросу:

1) Джонатан прав - это вопрос с подвохом. Однако хитрость заключается в том, что пользователь может отправить задание в ЛЮБОЕ время на принтер, независимо от доступности принтера. Задание будет просто удерживаться в очереди до тех пор, пока не будет достигнут StartTime - в это время оно будет напечатано.

2) Как упоминалось ранее, принтер приостановлен. Ничего не печатается, хотя пользователи могут отправлять задания в любое время.

3) StartTime и tillTime вычисляются с использованием UTC, независимо от часового пояса, и они указаны в минутах. Таким образом, если вы установите StartTime на 0100 UTC, он будет отображаться как "60". Этот трюк использует "1000", чтобы обмануть вас, думая, что это "10 часов". Это на самом деле 16:40 UTC. "60" будет в 1:00 по UTC. "600" будет в 10:00 по UTC.

4) Поскольку в вопросе не указан часовой пояс, времена не будут иметь значения, потому что приведенные в вопросе часы не будут одинаковыми, скажем, для меня в UTC-7, для кого-то в UTC+2. Так...ДРУГОЙ трюк.

Но расшифровка трюков многому нас учит.

По крайней мере, Microsoft не использует время эпохи для этого.

-Tzo

1

Значения времени начала и времени ожидания указаны в минутах. Максимальное значение составляет 1440 (минут), что соответствует 24 часам.

Хитрость заключается в том, чтобы узнать, какой фактический часовой пояс установлен, чтобы иметь возможность определить, какое время представляет значение. Например:

В универсальном координированном времени UTC 0 = 12:00 (это легко вычислить, поскольку каждое значение соответствует минуте, 60 = 01:00, 120 = 02:00 и т.д.)

В UTC+01:00, 0 = 01:00 (просто добавьте 1 час с полуночи, чтобы узнать, где находится значение 0. тогда 60 будет 02:00, 120 = 03:00 и т.д.)

В UTC-03:00, 0 = 09:00 вечера (вычтите 3 часа с полуночи, вы получите 0, затем 60 будет 10:00 вечера и т.д.)

Для вопросов, связанных с результатом get-printer, также проверьте состояние принтера, если он приостановлен, принтер не будет печатать, даже если это происходит в течение доступного времени. Если в вопросе ничего не говорится о часовом поясе, в котором вы находитесь, я думаю, невозможно определить, в какое время это значение представляет.

1

Я считаю, что оба значения рассчитываются в минутах с 12:00 по Гринвичу. Это поставило бы вас в GMT+2. Это работает правильно?

0

Время начала зависит от TIMEZONE.

Предположим, если вы выберете UTC - Всемирное координированное время, принтер будет доступен с 16:40 ==> StartTIME будет 1000. Если вы выберете UTC-06: 00 - Центральное время (США и Канада), тогда StartTime станет: 940.

Если вы возьмете 410 TEST, они зададут вам этот вопрос :) Это вопрос с подвохом ...

Предположим, что всемирное координированное время по Гринвичу (0), время начала: 1000 и время до 600 будут эквивалентны Доступны с 4:40 до 10:00.

Таким образом, принтер будет печатать что угодно с 4:40 вечера до 10:00 утра Однако еще одна хитрость, которую Microsoft играет в тесте, заключается в том, что принтер находится в состоянии паузы. Итак, вы увидите PrinterStatus: Paused. Так что ничего не напечатано.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .