$output = ./bpdbjobs $Results = @() $ColumnName = @() foreach ($match in $OUTPUT) { $matches = $null $match -match "(?\d+)?\s+(?(\b[^\d\W]+\b)|(\b[^\d\W]+\b\s+\b[^\d\W]+\b))?\s+(?(Done)|(Active)|(\w+\w+`-\w`-+))?\s+(?\d+)?\s+(?(\w+)|(\w+`_\w+)|(\w+`_\w+`_\w+))?\s+(?(\b[^\d\W]+\b\-\b[^\d\W]+\b)|(\-)|(\b[^\d\W]+\b))?\s+(?(\w+\.\w+\.\w+)|(\w+))?\s+(?(\w+\.\w+\.\w+)|(\w+))?\s+(?\d+)?\s+(?\b[^\d\W]+\b)?" $Results+=$matches } foreach ($result in $results) { $Object = New-Object psobject -Property @{ JobID = $Result.jobID Type = $Result.Type State = $Result.State Status = $Result.Status Policy = $Result.Policy Schedule = $Result.Schedule Client = $Result.Client Dest_media_svr = $Result.dest_media_svr Active_PID = $Result.Active_PID FATPipe = $Result.FATPipe } $ColumnName += $Object }