Guide
Check Windows hardening offline – without an agent, on plant, lab and control-room PCs
On plant, lab and control-room PCs where no agent may run and nothing may be installed, check Windows hardening read-only and offline: Windows’ built-in secedit, auditpol and reg query show the security settings without installing anything, a portable collector run from a USB stick reads them, and the evaluation runs on another PC. Whatever has to stay open is recorded as a justified, approved exception; changes to the Windows configuration go through change control separately.
Why agents, installations and network scans often don’t work on plant PCs
HMIs, engineering workstations, lab and control-room PCs often sit outside central IT: some without a network, some validated or accepted by the plant vendor, some running software that needs an insecure setting. Anyone who has to show how well Windows is hardened there runs into hurdles that office IT does not have:
Every installation is a change
Installing a checking tool changes the system. For computerised systems in GMP environments, EU GMP Annex 11 states that changes – explicitly including system configurations – should only be made in a controlled manner, following a defined procedure.
The plant vendor has a say
NIST’s guide to OT security (SP 800-82) points out that OT vendor licensing and service agreements sometimes rule out third-party security solutions, and that support can be lost if third-party applications are installed without the vendor’s approval.
Updates need testing and downtime
According to NIST, updates on OT systems need thorough testing by both the vendor and the end user; outages are planned days or weeks ahead, and revalidation may be needed. An agent that updates itself regularly is a poor fit.
Active network scans can disrupt
NIST advises extreme caution: active scans may cause device instability or interfere with the process state and should run during planned outages where possible. Solutions that scan actively or use resources on the machine itself should be tested before they are deployed in the OT system.
Some machines have no network at all
An isolated measurement PC or an HMI in a sealed-off cell has no connection through which an agent could report or a scanner could reach it.
Old Windows versions stay in service
According to NIST, the lifespan of an OT system can exceed 20 years, and many OT systems run operating systems that no longer receive patches. A way of checking has to cope with older Windows versions too.
What is needed is a way that only reads, installs nothing and works without a network – and produces a result that stands up as evidence.
Windows hardening checklist: what a check should cover
If you have to show Windows hardening for an audit – under IEC 62443, NIS2 or GMP, for example – you first need a list of what is checked. Expected values depend on the Windows version, the role and the plant software; Microsoft, for instance, lists different defaults for the LAN Manager authentication level depending on the role. These areas belong in the check, phrased here as questions – set the expected values with your source and the plant vendor:
Accounts and sign-in
Who is a local administrator, which accounts are enabled, including Guest? Is automatic logon configured – and is it justified? According to Microsoft, the password can then be stored in the registry in plain text.
Credentials and NTLM
Which NTLM variants does the LAN Manager authentication level allow? Is LSA protection on?
Network, shares and services
Is SMBv1 enabled, is SMB signing required? Which shares exist, and which services run that the plant does not need?
Remote Desktop
Is Remote Desktop on – and if so, only with Network Level Authentication, and for whom?
Firewall
Is Windows Firewall on in every profile, and which inbound rules exist?
Antivirus
Is antivirus running, such as Microsoft Defender Antivirus? How old are the signatures, which exclusions are set? Some plant vendors recommend specific antivirus tools; NIST advises following the vendor’s recommendations.
Audit and logging
What does the audit policy record, how large is the Security log, is PowerShell logged?
Removable media and AutoRun
How are USB storage and AutoRun for removable media configured?
Encryption and TLS
Is the system drive encrypted? Which SSL and TLS versions does Windows allow?
Updates and lifecycle
Does the Windows version still receive security updates, and when was the last one installed?
Checking with Windows’ built-in commands: secedit, auditpol, reg query
Windows ships with commands that read the security settings without installing anything. Open the command prompt with “Run as administrator” – according to Microsoft, auditpol needs a right that only administrators have by default. Change to the target folder first, for example the USB stick: without a path, output files land in the current folder.
Security policy: secedit
secedit /export /cfg secpol.inf /log secedit.logwrites the local security policy to a text file, including account policies, security options and user rights./mergedpolicyadds the settings from the domain;/logputs the log file into the current folder too.Audit policy: auditpol
auditpol /get /category:*shows the audit policy settings for all categories and subcategories;/rgives the result as CSV.Single values: reg query
reg query HKLM\System\CurrentControlSet\Control\Lsa /v LmCompatibilityLevelreads the LAN Manager authentication level. If the value is missing, the registry simply holds nothing – which behaviour then applies has to be looked up in Microsoft’s documentation for the version and role. The exit code does not tell you whether a value is missing or could not be read:reg queryonly knows 0 (success) and 1 (failure).Group Policy: gpresult
gpresult /scope computer /rshows a summary of the Group Policy Objects that apply to the machine;gpresult /scope computer /h gpresult.htmlwrites an HTML report instead (/hcannot be combined with/r). This helps mainly on domain-joined machines.
Two pitfalls with reg query: for many keys under HKLM\SOFTWARE, a 32-bit program on 64-bit Windows sees its own view of the registry (Wow6432Node), Winlogon among them; the policy keys under HKLM\SOFTWARE\Policies are shared by both views. If the command prompt was started from a 32-bit program, such as a remote-support tool, a value that is actually set may appear to be missing; /reg:64 reads the 64-bit view. And with automatic logon, the Winlogon key may hold the password in plain text – query single values there, for example reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon, rather than printing the whole key.
Where the built-in commands stop:
- They give raw values, not an assessment: whether a value is right is not in the output.
- You maintain the expected values yourself – per Windows version and role, with a source.
- The evaluation is manual, for example in a spreadsheet; missing values and defaults need careful interpretation.
- Configured is not the same as effective: a policy alone does not show whether antivirus is actually running.
- The commands do not manage exceptions or approvals, and they leave no record of who collected what and when, or who signed off the result.
Central options: Group Policy, MDM, agents, network scans
Group Policy
In a Windows domain, Group Policy distributes settings by site, domain and organisational unit and overwrites local values at the next update. It sets expected values but does not produce a check report –
gpresultonly shows which policies apply.MDM with compliance reports
Machines enrolled with an MDM service synchronise regularly with the management server and take over its policies; compliance policies can also evaluate the device configuration. Without a connection to the management server, none of this works.
Agents
An agent is a program that usually runs permanently on every machine, collects the configuration and reports to a server. Convenient for managed machines – on a plant PC, installing it is already a change, and every agent update is the next one.
Network scans with credentials
A scanner signs in to every machine over the network with an account and reads the configuration. That needs network access, reachable management interfaces, an account with rights on every machine – and, on a plant network, permission to scan.
For managed office IT, these are the usual options. On plant PCs without a domain, without a network or without approval for additional software they often do not fit – what remains are the built-in commands or a portable collector that reads locally and leaves the evaluation to another PC.
Keep checking and changing apart
Checking scripts and programs that compare the configuration on the machine itself with a list of expected values are available from several vendors and projects; a factual comparison with well-known ones is on the Riegel product page. Some can also apply the settings – which saves time in office IT. On a validated or accepted plant PC, every setting they apply is a configuration change – with everything that comes with it: a change request, agreement with the plant vendor, testing and possibly revalidation.
Microsoft itself says that a Windows hardening setting can break things: changing the LAN Manager authentication level may affect compatibility with client devices, services and applications, and at the stricter level, devices that do not support NTLMv2 can no longer authenticate in the domain. For OT, NIST recommends documenting, testing and approving changes before deploying them. A sensible order is therefore:
- Check read-only first and record the current state.
- Decide on every deviation: fix it, justify it as an exception, or deliberately take the rule out of scope for this role.
- Prepare changes as files, with a rollback, and agree them with the plant vendor.
- Test on a test system or a spare station, then apply them in a maintenance window through change control.
- Check again afterwards and record the new state as the approved state.
Justify and approve exceptions, compare with the approved state
Not every rule is met on plant PCs – sometimes for good reason: the HMI must come back up without a sign-in after a restart, older software needs an old protocol, the vendor does not approve a particular antivirus product. Microsoft, for example, recommends automatic logon only where the computer is physically secured and untrusted users cannot access the registry remotely. Conditions like these belong in a justified exception – not in a silent deviation that nobody can explain at the next audit.
An exception is not a ticked box but a documented decision. It names:
- the rule and the machines or groups it applies to
- the justification and the accepted value – if the value changes later, the exception should no longer apply
- the compensating measure, such as a locked control cabinet or an isolated network
- who approved it, with a reference to the change or QMS record
- how long it is valid and when it will be reviewed
This matches published guidance: for legacy OT systems that do not support a security control, NIST says compensating controls should be considered and advises documenting the approved baseline configuration of OT devices. In its guidance on the NIS2 requirements for digital services such as data centres and managed service providers, ENISA lists documented and approved exceptions to the configuration baseline, with the alternative measures in place, as an example of evidence.
Comparing with the approved state matters just as much: record how the machine was configured after commissioning or acceptance, and compare later checks with it – for example after a service visit by the vendor. That shows what has changed, even if nobody reported it. For computerised systems in GMP environments, EU GMP Annex 11 calls for periodic evaluation anyway, to confirm that they remain in a valid state.
Riegel: portable collector, offline evaluation
Riegel is our Windows hardening check for machines in plants, labs and control rooms. It separates collection from evaluation: a portable collector of about 130 KB runs from a USB stick on the plant PC, installs nothing, changes no configuration, opens no network connection and writes only its export; Windows itself records that a program ran, and gpresult can make Windows start the Group Policy Client service on demand. The evaluation happens on an analysis PC – which is also where the MSI and the analysis app (Windows 10 1809 or Windows Server 2019 and later) belong, not on the plant PC.
Built for plant PCs
The collector is designed for Windows 7 SP1 to 11 and Windows Server 2008 R2 SP1 to 2025 and needs .NET Framework 3.5.1 or 4.x. Where no foreign program may run,
collect-builtin.cmduses only Windows’ own commands such assecedit,auditpolandreg;--minimalstarts no other program on sensitive HMIs.153 rules, honest results
Accounts, credentials and NTLM, Defender, firewall, audit and PowerShell, RDP, removable media, TLS and more. A pass needs positive evidence; what could not be read is “not checkable”, never a silent pass.
Justified, approved exceptions
Justification, accepted value, approving role and a change or QMS record – bound to its content, with expiry and history. If the value changes later, the finding is open again.
Comparison with the approved state
What changed since commissioning or a vendor visit? Changes for the worse first, then raw-value drift.
A report to sign
Plant report as PDF, plus Excel, CSV and an evidence pack that auditors re-check with
verify– also on Linux.Remediation as files only
.reg files with a rollback, GptTmpl.inf and audit.csv for the plant vendor – never applied by Riegel.
For the change request, the documentation lists which items the collector reads, which programs it starts and which traces Windows records. The catalogue is backed by ACSC, Microsoft documentation and DISA STIGs; it contains no CIS and no BSI SiSyPHuS content. Riegel supports evidence but makes no compliance claim.
Honestly: Riegel is a pre-release (0.1.2) and not code-signed yet – Windows may show a warning when Riegel’s programs are started, and the collector can only be allow-listed by its hash. There will therefore be no customer pilot on OT or validated machines until the collector is signed. Riegel has been tested on fixtures and CI runners, not yet on real Windows 7, 8.1, Server 2008 R2 or 2012 R2 machines, in a real domain, with third-party antivirus or EDR, or with real AppLocker enforcement. Without administrator rights, with --minimal or from the built-in commands, many rules cannot be decided; the report then says “Incomplete check”. Riegel is free of charge under the MIT licence. The download follows with the public release.
Our product
Riegel – Windows hardening check for plants, labs and control rooms
Check Windows hardening read-only and offline: a portable collector with nothing to install, 153 rules, justified exceptions and a report to sign – designed for Windows 7 SP1 to 11 and Windows Server 2008 R2 SP1 to 2025.
Status: Coming soon · Coming soon
The options compared
| Option | On the plant PC | Network needed | Assessment against expected values | Justified exceptions | Mainly suited to |
|---|---|---|---|---|---|
Built-in commands by hand (secedit, auditpol, reg query) | Windows commands only, as administrator | no | by hand, expected values maintained yourself | your own list | single values, spot checks |
| Group Policy or MDM | nothing extra; machine in the domain or enrolled with the MDM service | yes | sets expected values; check reports depend on the solution | depends on the solution | managed office IT |
| Agent | installation, runs permanently | usually yes | depends on the product | depends on the product | managed machines with a network |
| Network scan with credentials | sign-in over the network, depending on the tool with an agent | yes | depends on the product | depends on the product | networks where scans are allowed |
| Portable collector, offline evaluation, e.g. Riegel | collector from a USB stick, installs nothing | no | yes; Riegel: 153 rules plus your own baselines | Riegel: with approval, record and expiry date | machines without a network or without approval for extra software |
“Depends on the product” and “depends on the solution”: features differ from tool to tool. Riegel is a pre-release (0.1.2) and not code-signed yet; there will be no customer pilot on OT or validated machines until the collector is signed.
Which option fits when?
-
Looking up single values, for example after a fault or before an audit
The built-in commands:
reg queryfor single registry values,auditpol /getfor the audit policy,secedit /exportfor the security policy. -
Office IT in a domain or under MDM
Central management with its reports, plus an agent or a network scan where needed.
-
Plant PC without a network or without approval for extra software
A portable collector that installs nothing, with the evaluation on another PC – or, where no foreign program may run at all, the built-in commands. Riegel offers both, but is still an unsigned pre-release.
-
Validated machine in a GMP environment
Check read-only, record deviations as justified, approved exceptions, change things only through change control – and compare with the approved state at the periodic review.
-
The plant software needs an insecure setting
A justified exception with a compensating measure, approval and expiry date instead of a silent deviation.
-
Machine builder before delivery
Check the as-delivered state and ship the justified deviations of your own software with it; Riegel has an “as delivered” report preset for this and also runs in the factory acceptance test (FAT). Riegel is still an unsigned pre-release; there will be no customer pilot on OT or validated machines until the collector is signed.
-
Windows hardening is to be applied
Separately from checking: prepare changes as files, agree them with the plant vendor, test them, apply them in a maintenance window and check again afterwards.
Frequently asked questions
How do I check Windows hardening on a plant PC without installing anything?
With built-in commands or a portable collector. secedit /export, auditpol /get and reg query read the security policy, the audit policy and single registry values – assessing the raw values is up to you. A portable collector such as Riegel’s runs from a USB stick, reads the configuration, installs nothing and changes no configuration; the evaluation runs on another PC. Riegel is currently a pre-release (0.1.2) and not code-signed yet. The download follows with the public release.
Does this work on machines without a network?
Yes. The built-in commands run locally; agents, central policies and network scans, by contrast, need a connection. Riegel’s collector opens no network connection: it runs from a USB stick, and the snapshot travels to the analysis PC the same way or through a transfer station. Riegel is currently a pre-release (0.1.2).
What if the plant software needs an insecure setting?
Record it as a justified exception instead of accepting it silently: which rule, which value is accepted, why, which compensating measure applies, who approved it – with a reference to the change or QMS record – and until when. Riegel, currently a pre-release (0.1.2), keeps such exceptions with approval and expiry date; the approval is bound to the content, and if the value changes later, the finding is open again.
Does this work on Windows 7 or Server 2008 R2?
Riegel (pre-release 0.1.2) includes a collector designed for Windows 7 SP1 to 11 and Windows Server 2008 R2 SP1 to 2025 that needs .NET Framework 3.5.1 or 4.x; it has not been tested on real Windows 7 or 2008 R2 machines yet. Without .NET, the built-in variant collect-builtin.cmd remains – installing .NET just for the check would itself be a change on a validated machine.
Why not apply Windows hardening straight away with a script?
On a validated or accepted machine, every setting a script applies is a configuration change – it belongs in change control, agreed with the plant vendor and tested beforehand. Microsoft warns, for example, that changing the LAN Manager authentication level may affect compatibility with client devices, services and applications. So check read-only first and change things deliberately afterwards; Riegel, currently a pre-release (0.1.2), never applies settings itself and delivers remediation as files only.
Is this enough as evidence for IEC 62443 or NIS2?
A check report with expected and actual values, justified exceptions and a signature supports evidence for configuration management; it is not a statement of conformance. Riegel, currently a pre-release (0.1.2), supports evidence for IEC 62443 and NIS2, among others, but makes no compliance claim and covers configuration only – not MFA, backups, incident handling or network segmentation. Whether the evidence is sufficient is up to your audit.
More guides
- Barcode scanner for PC: handheld scanner, webcam or screen? – Handheld scanner, webcam, screen or phone: which option fits when – compared honestly.
- Lock a Windows PC but keep the screen visible – What Win+L, screen savers and kiosk mode can do – and when a see-through screen lock is the right choice.
- Android keyboard with function keys: F1 to F24 for terminal emulation on handhelds – F1–F24, Esc and Insert on Android handhelds: hardware keys, the emulator’s toolbar, an external or an on-screen keyboard – which option fits when.
- Barcode scans not arriving in the browser on an Android handheld: causes and fixes – Profile, keystroke output, focus, Enter: why barcode scans go missing in the browser on Android handhelds – and which fix suits which situation.
- Find orphaned SIDs and Everyone permissions on Windows file servers – Account Unknown, Everyone can write, inheritance broken: how to find risky permissions on a file server – with built-in tools or a report.
Microsoft, Windows, Windows Server, PowerShell, Defender and Excel are trademarks of the Microsoft group of companies, Linux is a registered trademark of Linus Torvalds. They are named only to describe features and compatibility. CIS (Center for Internet Security) and the BSI are named only to say that Riegel contains no content from them. Standards, guidelines and frameworks are only described; Riegel is neither audited nor certified by their publishers.
Contact
Questions about your setup?
Tell us what you are looking for – we will get back to you personally.