NinjaOne Backup — Lockhart Service: Start, Stop, Restart & Status Checks
Audience: T1 / T2 Use when: Backups aren't running and you suspect the Lockhart service is stopped, crashed, or misconfigured.
Lockhart is the codename for the NinjaOne Backup agent service. It is completely separate from the main NinjaRMMAgent service. A device can appear fully online in NinjaOne while Lockhart is stopped and no backups are running.
Quick Status Check
# Check both the RMM agent and Lockhart together
Get-Service | Where-Object {
$_.DisplayName -like "*NinjaRMM*" -or
$_.DisplayName -like "*Lockhart*" -or
$_.DisplayName -like "*NinjaOne Backup*"
} | Select DisplayName, Name, Status, StartType | Format-Table -AutoSize
Expected output on a healthy device:
| DisplayName | Status | StartType |
|---|---|---|
| NinjaOne Agent | Running | Automatic |
| Lockhart | Running | Automatic |
If Lockhart is Stopped — start it. If StartType is not Automatic — fix it.
Starting Lockhart
# Start Lockhart
Start-Service -DisplayName "Lockhart"
# Verify it started
Get-Service | Where-Object {$_.DisplayName -like "*Lockhart*"} | Select DisplayName, Status
If it starts but then stops again within a few minutes, check for errors:
# Check Windows Event Log for Lockhart errors after start
Get-WinEvent -LogName Application -MaxEvents 100 |
Where-Object {$_.ProviderName -like "*Lockhart*" -or $_.Message -like "*Lockhart*"} |
Select TimeCreated, Id, LevelDisplayName, Message | Format-List
Restarting Lockhart
Restart is the standard first step for most backup failures — it clears transient state issues:
# Restart Lockhart cleanly
Get-Service | Where-Object {$_.DisplayName -like "*Lockhart*"} | Restart-Service -PassThru
# Confirm it's back up
Get-Service | Where-Object {$_.DisplayName -like "*Lockhart*"} | Select DisplayName, Status
After restarting, trigger a manual backup run from NinjaOne → device → Backup → Run Backup Plan and watch the activity log.
Fixing StartType (Should Always Be Automatic)
If Lockhart is set to Manual or Disabled, backups will only run if the service is manually started or if the agent restarts it — unreliable in practice.
# Fix startup type
Set-Service -DisplayName "Lockhart" -StartupType Automatic
# Also use sc.exe as a belt-and-suspenders fix (some Windows versions need both)
sc.exe config Lockhart start= auto
# Verify
Get-Service | Where-Object {$_.DisplayName -like "*Lockhart*"} | Select DisplayName, StartType
Stopping Lockhart (When Needed)
Only stop Lockhart intentionally — during MSP360 cleanup or when NinjaOne support instructs you to:
Stop-Service -DisplayName "Lockhart" -Force
Get-Service | Where-Object {$_.DisplayName -like "*Lockhart*"} | Select DisplayName, Status
If Lockhart Won't Start At All
# Check if the Lockhart executable exists
$lockhart = Get-WmiObject Win32_Service | Where-Object {$_.DisplayName -like "*Lockhart*"}
$lockhart | Select Name, PathName, State, StartMode
# Test if the executable path is valid
if ($lockhart.PathName) {
Test-Path ($lockhart.PathName -replace '"','')
}
If the executable path is missing or the binary is corrupt: the agent needs to be reinstalled. In NinjaOne → device → Backup → Install Backup Agent (if available), or escalate to NinjaOne support.
Running a Manual Backup After Service Recovery
# Confirm service is running
Get-Service | Where-Object {$_.DisplayName -like "*Lockhart*"} | Select DisplayName, Status
# Then in NinjaOne console:
# Device → Backup → Run Backup Plan → select the plan → Run
# Monitor in Activities tab for the next 5-10 minutes