I’ve got a script that reports on failed Agent jobs but I want it to only include the failed jobs that were invoked by the service account. So that when I re-run the job, if it fails, the failure from me running the job is not included.
I’m looking for a way of knowing which account invoked the job or of parsing the Message and using teh entry in there.
Any help greatly appreciated.
Command is:
Get-SqlAgentJobHistory -ServerInstance $SqlServer -OutcomesType Failed -StartRunDate ((Get-Date).AddHours(-24))
Results:
InstanceID : 146792 SqlMessageID : 0 Message : The job failed. The Job was invoked by User mydomain\thatuser. The last step to run was step 3 (Master Pkg). The job was requested to start at step 1 (Master Pkg). StepID : 0 StepName : (Job outcome) SqlSeverity : 0 JobID : 4475d290-4b1e-4be3-9493-18d0558a878b JobName : importantJob RunStatus : 0 RunDate : 11/3/2018 8:01:28 AM RunDuration : 29 OperatorEmailed : DW Operators OperatorNetsent : OperatorPaged : RetriesAttempted : 0 Server : Server\Instance InstanceID : 146788 SqlMessageID : 0 Message : The job failed. The Job was invoked by User mydomain\serviceaccount. The last step to run was step 3 (Master Pkg). StepID : 0 StepName : (Job outcome) SqlSeverity : 0 JobID : 4475d290-4b1e-4be3-9493-18d0558a878b JobName : importantJob RunStatus : 0 RunDate : 11/3/2018 8:00:40 AM RunDuration : 25 OperatorEmailed : DW Operators OperatorNetsent : OperatorPaged : RetriesAttempted : 0 Server : Server\Instance