🚀PoshRocket 1.1 is here: Credential Profiles & Job Import/Export — Read more
PoshRocket logo PoshRocket Scheduler
Documentation

Using PoshRocket

Everything from installing it to scheduling your first job, licensing, credentials, and moving jobs between machines.

Installing

Download the latest installer from the Releases page and run it.

  1. The installer asks for administrator rights — this is needed to register the background Windows Service, not to run the GUI day-to-day.
  2. It installs the app and the service in one step, and starts the service automatically.
  3. Launch PoshRocket from the Start Menu (or the desktop shortcut, if you checked that box during install).

No separate .NET runtime install is required — the installer bundles everything it needs. Supported on Windows 10, Windows 11, and Windows Server 2016 or later (Server requires the Desktop Experience feature for the GUI; the service itself has no such requirement).

Running a newer installer over an existing install upgrades it in place: same install location, same service registration, and your jobs, run history, and license activation are all preserved.

Licensing

PoshRocket is free to install and use with 1 scheduled job, no time limit and no trial expiry. A one-time license key ($5, no subscription) unlocks unlimited scheduled jobs on that computer.

  1. Click the license status pill in the top-right of the header (it shows "Free" or "Active" depending on your current status).
  2. Buy a license, or paste in a key you already have, and activate.
  3. You'll also be prompted automatically the moment you try to add (or import) a second job while on the free tier.
Moving to a new computer? A license key is activated on one computer at a time. Deactivate it from the License dialog on the old machine before activating on a new one — this is self-service, no need to contact support.

Adding & managing jobs

Click Add Job in the toolbar:

  1. Give the job a name.
  2. Point it at a .ps1 script, either browsing to an existing file or writing a new one in the built-in editor.
  3. Optionally set arguments and a working directory.
  4. Check "Use PowerShell 7+ (pwsh.exe)" if the script needs PowerShell 7+ instead of the Windows PowerShell that ships with Windows.
  5. Pick a schedule (see below) and, optionally, a credential profile.
  6. Click Save Job.

From the main job grid you can:

  • Edit any existing job's settings.
  • Run Now to trigger an immediate run outside its schedule.
  • Enable / Disable a job without deleting it.
  • Delete a job you no longer need.

The grid itself shows each job's schedule, next run time, last run time, and last result at a glance.

Scheduling

Every job uses one of three schedule types:

  • Cron expression — standard 5-field cron (e.g. */15 * * * *) for full control.
  • Every N minutes — a simple recurring interval.
  • Daily at time — one run per day at a fixed local time.

Changing a job's schedule and saving recalculates its next run time immediately.

Built-in script editor

Click Edit Script from the job editor (or Script Editor in the main toolbar) to open the linked .ps1 file directly in PoshRocket for quick changes, without switching to a separate editor. It's a plain text editor with no syntax highlighting — for larger edits, use your preferred editor (VS Code, the PowerShell ISE, etc.) and just point the job at the same file.

Run history & logs

Click History on a job to see its recent runs: start time, duration, exit code, and full stdout/stderr output, one click away. Each run's output is also written to a log file under %ProgramData%\PoshRocket\logs\<job-id>\<timestamp>.log.

How many runs (and log files) are kept per job is configurable per-job via "Log history to keep" in the job editor — older runs are trimmed automatically once that limit is reached.

Credential profiles

Credential profiles let you attach a named set of secrets (API keys, tenant IDs, service account passwords, etc.) to a job. At run time, PoshRocket decrypts the profile and injects each field as an environment variable in the script's process — nothing else about the script changes.

Create a profile

Click Credentials in the toolbar, then + New Profile.

  • Name — anything descriptive, e.g. Azure-Prod, Exchange-Svc.
  • Fields — click + Add Field for each secret. The left box is the field name (this becomes the environment variable name), the right box is the value (masked on screen). Add as many fields as the script needs.

Click Save Profile. Values are encrypted at rest (Windows DPAPI, machine-scoped) in %ProgramData%\PoshRocket\credentials.json — they're never stored in plain text and never appear in job configs, logs, or history.

Link it to a job

Open Add Job or Edit on an existing job. Under Credential Profile (optional), pick the profile from the dropdown. Leave it set to None if the job doesn't need one.

Read the values in your script

Each field name becomes an environment variable, available via $env:<FieldName>:

# Profile "Azure-Prod" with fields TenantId, ClientId, ClientSecret

Connect-AzAccount `
    -Tenant $env:TenantId `
    -ApplicationId $env:ClientId `
    -CredentialSecret $env:ClientSecret
# Profile "Exchange-Svc" with fields Username, Password

$securePw = ConvertTo-SecureString $env:Password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($env:Username, $securePw)
Connect-ExchangeOnline -Credential $cred

That's it — no special import, no PoshRocket-specific API. The script just reads ordinary environment variables that happen to be populated right before it starts.

Notes

  • Field names must be valid environment variable names — no = characters. PoshRocket rejects invalid names when you save the profile.
  • One profile per job. If a script needs secrets from more than one system, either combine them into a single profile or split the work into separate jobs.
  • Profiles are machine-local. They're encrypted for the specific computer they were created on and won't decrypt if credentials.json is copied to another machine. Exporting a job that uses a profile (see below) carries the profile's name and field names only — you'll be prompted to re-enter the actual values on the new machine.
  • Visibility while running. Like any environment variable, injected values are visible to anything that can inspect the running child process (e.g. Task Manager's Details tab, WMI) while the script is executing. This is normal for environment-variable-based secrets and isn't specific to PoshRocket.
  • If a linked profile is deleted, jobs that referenced it simply stop receiving those environment variables — the job itself isn't deleted or disabled.

Import & export jobs

Move a job — script included — to another machine, or keep a backup of one.

Export

Select a job and click Export Job. Choose where to save it; PoshRocket writes a single .zip containing the job's settings and a copy of its script file. If the job uses a credential profile, the export also includes that profile's name and field names (never the encrypted values).

Import

Click Import Job and pick a previously exported .zip. PoshRocket recreates the job with a fresh ID and its script copied into %ProgramData%\PoshRocket\imported-scripts\ — it's treated as a brand-new job, not a restore, so its run history starts empty.

If the original job used a credential profile, you'll be prompted to set one up on this machine: PoshRocket pre-fills a new profile with the right name and field names, and you just fill in the actual values for this computer.

Importing respects the same free-tier job limit as adding a job normally — if you're on the free tier and already have a job, you'll be prompted to license before the import completes.

The Windows Service

PoshRocket runs your scheduled jobs via a genuine Windows Service, which starts automatically at boot and keeps running whether or not anyone is logged in. The header shows the service's current status (Running / Stopped) alongside controls to Install, Start, Stop, or Uninstall it.

Installing, starting, stopping, or uninstalling the service requires admin rights; PoshRocket prompts for UAC elevation itself for just that action, so you don't need to run the whole app as Administrator.

Uninstalling

Uninstall from Windows Settings → Apps, or via the Start Menu shortcut, same as any other Windows application. The uninstaller stops and removes the Windows Service automatically, then asks whether to also delete your job data, history, and logs (kept in %ProgramData%\PoshRocket\) — choose "No" if you might reinstall later and want to pick up where you left off.

Troubleshooting

A job didn't run when expected. Check that:

  • The job is enabled (see the ENABLED column in the job grid).
  • The Windows Service is running (status shown in the header).
  • The schedule is what you expect — open the job and double check the cron expression, interval, or daily time.

A job ran but failed. Open History on that job to see the exit code and full output/error text from the run — that's almost always enough to tell what went wrong.

A job using a credential profile isn't getting its values. Confirm the job still has a profile selected in the job editor (it's cleared automatically if the profile was deleted), and that the field names match what your script expects via $env:<FieldName>.

Still stuck? Reach out at support@poshrocket.app, via the contact form, or ask in r/PoshRocket.