Это условие должно выполнять работу:
if ((Get-Date) -gt (Get-Date -Hour 7 -Minute 0 -Second 0)) {
# While Loop End Condition
$value = 2
# more actions
}
Он сравнивает текущее время с объектом DateTime
с текущим днем, но время установлено на 07:00:00
.
Сохранить вИмейте в виду две вещи:
Это позволит циклу работать только с полуночи до 7 утра. Если вы хотите запустить скрипт за день до того, как вам нужно будет откорректировать условия.
Возможно, будет удобнее читать, если вы не используете if
, но поместите условие непосредственно в while()
как это:
while ((Get-Date) -lt (Get-Date -Hour 7 -Minute 0 -Second 0)) {
# do something
}
В настоящее время вы проверяете точное время, поэтому в теории конечное условие может быть выполнено, однако, если оно достигнетопределенная строка за одну секунду до / после, она не остановит цикл.