Chapters · Chapter 6 of 7

Track Registry state

Track a precise Registry value, including the state where it is absent.

About 5 minutesTracking from Scratch 1.0.0
Joining here?

Stop Pinman, run this command, then start Pinman again. It rebuilds the sample project up to this point, discarding any work you have already done in it.

pinman tutorial goto registry
View

What to expect#

Important workstation configuration also lives in the Windows Registry. In this chapter, you'll add Pinman's startup value to the schema, including the case where that value does not currently exist. Then you'll change and restore the real setting to see Pinman report its appearance or disappearance.

Schema authoring workflow

  1. Choose what mattersfirst tracked file
  2. Describe configurationsettings + labels
  3. Keep noise outMatching Rules
  4. Prove the schemacompare with baseline
  5. Extend beyond filesRegistry + Windows

Steps#

Add Pinman's startup value#

The Windows Registry stores settings as values inside keys. The Run key lists programs that start when you sign in, including a value named Pinman when Start at Login is on. HKEY_CURRENT_USER contains settings for the current Windows user.

First, check the current state of Pinman's Start at Login option. You may change it now if you want to follow the other Registry path below. Whichever state you choose will become the starting point captured in Registry baseline.

  1. Right-click the Pinman icon in the Windows system tray.
  2. Note whether Start at Login has a checkmark. Optionally, select it now to change its state.

Pinman's Start at Login setting in the system tray

Now tell Pinman to track this setting.

  1. In Explore, find the Registry (winreg) root. You can collapse Files first to make room.
  2. Follow HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run, using Scan for untracked here to reveal each level.

Track the Run key to give the startup value a place in the schema. Tracking the key does not track the other startup values inside it.

  1. Right-click Run and select Track item….
  2. Set Label to User Startup Programs, then select Track.

If Start at Login is on, a Pinman value appears under the Run key. If it is off, the value is absent. The schema can describe either starting state so that a later appearance or disappearance is reported as a change. Follow the path that matches your computer.

If Pinman is listed#

The value exists, so track it directly from Explore.

  1. If Pinman is listed, right-click it and select Track item….
  2. If Pinman is listed, set Label to Start Pinman at Login, then select Track.

If Pinman is not listed#

There is no row to track in Explore. Add the missing value to the schema beneath the tracked Run key instead. Add child item… creates a definition whether or not the value currently exists.

  1. If Pinman is not listed, open More → Schema and find User Startup Programs.
  2. If Pinman is not listed, right-click User Startup Programs and select Add child item….

Item Type identifies the definition as a Registry value. Selector names the value within the Run key.

  1. For an absent value, ensure that Item Type is winreg_property, then set Selector to Pinman.
  2. For an absent value, set Label to Start Pinman at Login, then select Add.

Both paths now define the same Registry value in the schema.

  1. If you used the Schema page, return to Explore.
  2. Right-click User Startup Programs and select Refresh.

Start Pinman at Login appears beneath User Startup Programs. The other values in the Run key remain outside the schema.

Capture the Registry baseline#

Capture the current startup state before changing it. This gives Pinman a fixed Reference for the comparison.

  1. Create a Checkpoint titled Registry baseline with Files + settings, Tracked only and Record only. Wait for it to complete.

Registry baseline contains the verified application configuration and the presence or absence of Pinman's startup value.

Start Pinman at Login beneath User Startup Programs

See a real Registry change#

Now change Pinman's startup setting outside Pinman. This changes only Pinman's own startup entry, and you will restore it immediately afterward.

  1. Right-click the Pinman icon in the Windows system tray and select Start at Login to switch the setting.
  2. In Explore, select Refresh.

Start Pinman at Login now differs from Registry baseline. Turning the setting on adds the Registry value; turning it off removes the value. If the value was absent when you started, the definition you added on the Schema page told Pinman where to look before the value existed.

Start Pinman at Login changed against the Registry baseline

  1. Right-click the Pinman system tray icon and select Start at Login again to restore the state captured in Registry baseline.
  2. In Explore, select Refresh.

Start Pinman at Login agrees with Registry baseline again.

What we did#

You added one precise Registry value to the schema, including its expected absence, then used Registry baseline to see the real value appear or disappear. Other startup values stayed outside tracking.

Next, you'll extend the schema to Windows master audio settings.