Как правильно использовать рабочий процесс с Restart-Computer? - PullRequest
0 голосов
/ 19 июня 2019

Я не могу заставить это работать: после перезагрузки компьютера мой сценарий не будет продолжать выполняться.

Я зарегистрировал ScheduledJob, запустив свой рабочий процесс.Рабочий процесс заключается в запуске start.exe с аргументом /play=file.rec в различных папках и перезагрузке между каждым выполнением.Он не должен выполняться параллельно.

Вот моя текущая версия кода, которая запускается, но не возобновляется после перезагрузки:

function Install-App {
    Param ([PSObject]$folder)

    #Locating .rec file
    $recfile = @()
    $recfile = (Get-ChildItem $folder.FullName -Recurse -File -Filter "*.rec")

    #Executing start.exe in replay mode
    $arg = "/play="""+$recfile+""""
    $cmd = "$($folder.FullName)\start.exe"
    Write-Output "Executing $cmd $arg"
    & $cmd $arg

}

workflow Software_Workflow{           

    # #create an array
    $wrkdir = @()

    #Executing installation for each directory
    $wrkdir =Get-ChildItem -Recurse -Directory
    ForEach($d in $wrkdir){
        Install-App -folder $d        
        Checkpoint-Workflow
        Restart-Computer -Wait
    }

    Unregister-ScheduledJob -Name NewServerSetupResume

}

# Create the scheduled job properties
Write-Output "End of loading, setting parameters"
$user = "***"
$secpasswd = ConvertTo-SecureString "***" -AsPlainText -Force
$options = New-ScheduledJobOption -RunElevated -ContinueIfGoingOnBattery -StartIfOnBattery
$cred = New-Object System.Management.Automation.PSCredential ($user, $secpasswd)
$AtStartup = New-JobTrigger -AtStartup

# Register the scheduled job
Register-ScheduledJob -Name NewServerSetupResume -Credential $cred -Trigger $AtStartup -ScriptBlock {[System.Management.Automation.Remoting.PSSessionConfigurationData]::IsServerManager = $true; Import-Module PSWorkflow; Get-Job -Name NewServerSetupResume -State Suspend | Resume-Job} -ScheduledJobOption $options

# Execute the workflow as a new job
Software_Workflow -JobName InstallationWorkflow -PSPersist $True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...