Assets/Start-OpsJob.ps1

<#
.SYNOPSIS
    Starts an Ops Job on demand.
.PARAMETER JobName
    Name of the job to start.
#>

param (
    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [ValidateNotNullOrEmpty()]
    [string]$JobName
)

process {
    $TaskName = "OpsJob-$JobName"
    # Start-ScheduledTask reports nothing when the task is missing; check first
    # so the caller gets a real error instead of silence.
    if (-not (Get-ScheduledTask -TaskName $TaskName -ErrorAction SilentlyContinue)) {
        Write-Error "OpsJob '$JobName' not found."
        return
    }
    Start-ScheduledTask -TaskName $TaskName
}