Data/ResultCodes.psd1

@{
    # Task Scheduler LastTaskResult decode table.
    # Benign = $true means "not a failure" (never triggers FAILED_LAST_RUN).
    # Unknown non-zero codes are treated as the scheduled program's own exit code (= failure).
    Codes = @(
        @{ Code = 0x0        ; Meaning = 'Success'                                   ; Benign = $true  ; Hint = '' }
        @{ Code = 0x1        ; Meaning = 'Incorrect function (generic failure)'      ; Benign = $false ; Hint = 'Usually a wrong program path, missing permissions, or the script itself returned exit code 1. Run the action manually as the task''s account.' }
        @{ Code = 0x2        ; Meaning = 'File not found'                            ; Benign = $false ; Hint = 'The action''s executable or script path does not exist on this host.' }
        @{ Code = 0xA        ; Meaning = 'Environment is incorrect'                  ; Benign = $false ; Hint = 'The program could not start with the configured action/arguments - check the action and the "Start in" folder.' }
        @{ Code = 0x41300    ; Meaning = 'Task is ready'                             ; Benign = $true  ; Hint = '' }
        @{ Code = 0x41301    ; Meaning = 'Task is currently running'                 ; Benign = $true  ; Hint = '' }
        @{ Code = 0x41303    ; Meaning = 'Task has not yet run'                      ; Benign = $true  ; Hint = '' }
        @{ Code = 0x41304    ; Meaning = 'No more runs scheduled'                    ; Benign = $true  ; Hint = '' }
        @{ Code = 0x41306    ; Meaning = 'Last run was terminated by the user'       ; Benign = $false ; Hint = 'Someone (or a shutdown) stopped the task mid-run. Re-run it and check that it completes.' }
        @{ Code = 0x41325    ; Meaning = 'Task is queued'                            ; Benign = $true  ; Hint = '' }
        @{ Code = 0x8007010B ; Meaning = 'Directory name is invalid'                 ; Benign = $false ; Hint = 'The "Start in" folder is wrong. Note: Task Scheduler does not allow quotes in the "Start in" field.' }
        @{ Code = 0x80070005 ; Meaning = 'Access denied'                             ; Benign = $false ; Hint = 'The run-as account lacks rights to the program, script or target resource.' }
        @{ Code = 0x800704DD ; Meaning = 'User not logged on'                        ; Benign = $false ; Hint = 'Task is set to "Run only when user is logged on" but nobody was logged on. Switch to "Run whether user is logged on or not" with stored credentials.' }
        @{ Code = 0x8007052E ; Meaning = 'Logon failure: bad or expired credentials' ; Benign = $false ; Hint = 'The run-as account password expired or changed. Re-enter the password in the task''s properties.' }
        @{ Code = 0xC000013A ; Meaning = 'Terminated by Ctrl+C or shutdown'          ; Benign = $false ; Hint = 'The process was killed before finishing - often a host shutdown mid-run.' }
    )
}