Необходимо выполнить два действия внутри запланированной задачи. Нужно бежать после первого финиша - PullRequest
0 голосов
/ 09 мая 2019

У меня есть код PowerShell для создания задачи, которая "призраки" жесткого диска с помощью ghost.exe. Мне нужно создать одну задачу, которая сначала запускает ghost.exe со всеми моими параметрами, затем, после ее завершения, запускает следующее действие, которое проверит образ с помощью сценария powershell.

Хитрость заключается в том, чтобы задача дожидалась создания резервной копии, а затем запускала проверку. В моих попытках он запускает резервное копирование, а затем сразу пытается проверить. Как я могу это сделать?

Линия:

 cmd /c schtasks /Create /RU 'SYSTEM' /SC once /TN hotghost /SD $startdate 
 /ST $starttime /TR $hotghosttask

/ TR - это «задача для выполнения», но я не могу добавить другой / TR, чтобы добавить другое действие.

1 Ответ

0 голосов
/ 09 мая 2019

Если это существующий элемент, которого вы ждете от изменения, и вы примерно знаете, сколько времени обычно занимает «призрак», то простым решением было бы просто создать элемент управления в сценарии PowerShell, который будет запускаться впоследствии., чтобы ждать нового LastWriteTime на изображении.В приведенном ниже примере, когда $ temp.LastWriteTime соответствует текущему месяцу, дню, году и часу, сценарий продолжится.

См. Приведенный ниже пример:

$Date = Get-Date -Format "MM-dd-yyyy hh:"

do {
$temp = Get-Item C:\temp\temp.txt
}
    until($temp.LastWriteTime.ToString("MM-dd-yyyy hh:") -eq $date)
Write-Host "Starting image verification..." 
[your code begins here]

Другой вариант будетбыть, чтобы создать временный файл, который генерируется после того, как первая задача была выполнена, и просто использовать цикл do / till, пока инструкция не станет истинной.

do {
$temp = Test-Path C:\temp\temp.txt
}
    until($temp -eq $true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...