About this page

My name is Jon Anderson. This is a place to share notes from my years of working in IT.

BIOS Management Scripts v2 Released

My Dell, HP, and Lenovo BIOS password and settings scripts have been around for years, and over time they drifted away from the modules, operating systems, and hardware they run against. I’ve now finished a top-to-bottom modernization of the whole set (the v2 generation) currently at version 2.3.0. This post summarizes what changed across all of the scripts and links to the individual posts where each one is covered in detail. ...

May 26, 2026 · 3 min

Document Encryption Certificates for BIOS Password Management

The CMS method described in Securing BIOS Passwords relies on a document encryption certificate. The BIOS password is encrypted to that certificate’s public key, and only devices holding the matching private key can decrypt it. This post is a companion to that one. It covers how to create and manage the certificate itself: choosing between a self-signed certificate and one issued from an enterprise PKI, and handling the full lifecycle from creation through distribution, rotation, and removal. ...

May 24, 2026 · 10 min

Securing BIOS Passwords in Unattended Deployments

My Dell, HP, and Lenovo BIOS password and settings scripts all accept the BIOS password as a plain-text parameter. That is intentional, it keeps the scripts simple and broadly compatible, but it means that how you deliver the password to the script is where your security actually lives. This post covers how to do that safely under Configuration Manager and task sequences, and how the built-in CMS support added in version 2.3.0 makes it easier. ...

May 24, 2026 · 9 min

HP BIOS Password Management (HPCMSL)

This post covers script version 2.3.0. This is the HP Client Management Script Library (HPCMSL) variant of my HP BIOS password management script. It performs the same task as the WMI-based variant - automatically setting, changing, or clearing the Setup and Power-On passwords with logging and optional user prompts - but it uses the HPCMSL cmdlets instead of talking to the HP WMI interface directly. If you would rather avoid the module dependency, see the WMI variant. ...

May 22, 2026 · 8 min

HP BIOS Settings Management (HPCMSL)

This post covers script version 2.3.0. This is the HP Client Management Script Library (HPCMSL) variant of my HP BIOS settings management script. It performs the same task as the WMI-based variant - getting a list of current BIOS settings and setting BIOS settings from either the body of the script or a CSV file - but it uses the HPCMSL cmdlets instead of talking to the HP WMI interface directly. If you would rather avoid the module dependency, see the WMI variant. ...

May 22, 2026 · 8 min

Dell BIOS Password Management - WMI

This post was updated on May 25th, 2026 and covers script version 2.3.0. Earlier this year, I wrote about how to manage Dell BIOS passwords using PowerShell. The method described in that post uses the DellBIOSProvider PowerShell module. This method works, but I was not completely satisfied with it, as the PowerShell module needs to be downloaded and installed on every system the script runs on. Thankfully, Dell recently released a technical whitepaper documenting WMI classes that can be used to directly modify BIOS settings without needing an outside program or PowerShell module. This allowed me to create a new version of the Dell BIOS Settings Management script that does not require any additional content to function. ...

September 11, 2020 · 10 min

Dell BIOS Settings Management - WMI

This post was updated on May 25th, 2026 and covers script version 2.3.0. Earlier this year, I wrote about how to manage Dell BIOS settings using PowerShell. The method described in that post uses the DellBIOSProvider PowerShell module. This method works, but I was not completely satisfied with it, as the PowerShell module needs to be downloaded and installed on every system the script runs on. Thankfully, Dell recently released a technical whitepaper documenting WMI classes that can be used to directly modify BIOS settings without needing an outside program or PowerShell module. This allowed me to create a new version of the Dell BIOS Settings Management script that does not require any additional content to function. ...

September 11, 2020 · 11 min

Always On VPN - Troubleshooting

This post was updated on February 13th, 2021. There are many issues that can happen while configuring and using an Always On VPN solution. In this post I’ll be covering the common errors I’ve encountered while setting up Always On VPN. In addition, I’ll share some useful commands and show to how monitor VPN connections. Also, make sure to check out the troubleshooting section of the official Microsoft Documentation. Links to each individual post in this series can be found below. ...

July 6, 2020 · 9 min

Always On VPN

Deployment Guide Always On VPN - Basic Deployment Guide Always On VPN - Certificates and Active Directory Always On VPN - VPN and NPS Server Configuration Always On VPN - User Tunnel Always On VPN - Device Tunnel

June 4, 2020 · 1 min

Always On VPN - Basic Deployment Guide

With all the increased focus on working from home and remote access lately, I figured now would be a good time to share my notes on configuring Always On VPN. This first post will cover the basics of the Always On VPN technology. This guide will be split into multiple parts. Links to each individual post in this series can be found below. Always On VPN - Certificates and Active Directory Always On VPN - VPN and NPS Server Configuration Always On VPN - User Tunnel Always On VPN - Device Tunnel Always On VPN - Troubleshooting ...

June 4, 2020 · 5 min