Always On VPN - VPN and NPS Server Configuration

This is the third post in my series on setting up a basic Always On VPN deployment. In this post I will be covering the configuration of the VPN server and the NPS server. I will also talk about the network and firewall configuration. Links to each individual post in this series can be found below. Always On VPN - Basic Deployment Guide Always On VPN - Certificates and Active Directory Always On VPN - User Tunnel Always On VPN - Device Tunnel Always On VPN - Troubleshooting ...

June 4, 2020 · 9 min

Installing the HP Client Management Script Library

A PowerShell script to install the HP Client Management Script Library (HPCMSL) in Windows or WinPE, plus its prerequisites and the other ways to install it.

March 10, 2020 · 10 min

BIOS Management - Example Task Sequences

Example Configuration Manager task sequences for the Dell, HP, and Lenovo BIOS scripts. The bundled scripts are outdated; current ones are in the linked posts.

February 24, 2020 · 3 min

Dell BIOS Settings Management - DellBIOSProvider

A PowerShell script to get or set Dell BIOS settings, or set the boot order, using the DellBIOSProvider module. Settings come from the script or a CSV file.

February 21, 2020 · 7 min

Configuration Manager Collection Creation and Removal Scripts

Update - July 3rd, 2026 I recently revisited this script for the first time in a few years and ended up rewriting large parts of it. The collection creation script is now order-independent (the rows in the CSV file no longer need to be sorted by dependency), validates the entire CSV file before touching Configuration Manager, and supports fully unattended runs. I also wrote a new companion script, Remove-Collections.ps1, that bulk deletes collections. I’ve updated and expanded this post to cover both scripts. For details on what has changed, see the “What Changed” section at the bottom of this post. ...

February 18, 2020 · 10 min

App Packaging PowerShell Functions

I’ve recently been working on a lot of app packaging, and I decided to take the opportunity to update my scripts. In this post I’ll cover 3 PowerShell functions that I found to be the most useful. The functions can be found on my GitHub. Invoke-MsiExec This function works with msiexec.exe. The function allows for installing or uninstalling a .msi based application. The function has a number of parameters: FilePath - The path to the .msi or .msp file Guid - The GUID of the MSI-based application to be uninstalled Install - Indicates that the /i switch should be used when calling msiexec.exe Uninstall - Indicates that the /x switch should be used when calling msiexec.exe Patch - Indicates that the /p switch should be used when calling msiexec.exe Arguments - A comma separated list of arguments to pass to msiexec.exe ExitCodes - A comma separated list of non-standard exit codes Some notes about the parameters: ...

January 30, 2020 · 3 min

Dell BIOS Password Management - DellBIOSProvider

A PowerShell script to set, change, or clear Dell BIOS admin and system passwords using the DellBIOSProvider module, in Windows, WinPE, or a task sequence.

November 3, 2019 · 9 min

Working with the Dell Command | PowerShell Provider

A PowerShell script to install the Dell Command | PowerShell Provider (DellBIOSProvider) module in Windows or WinPE, plus its prerequisites and basic usage.

November 3, 2019 · 6 min

Lenovo BIOS Settings Management

A PowerShell script to get or set Lenovo BIOS settings, or reset them to defaults, using WMI. Settings come from the script or a CSV file.

August 1, 2019 · 10 min

HP BIOS Settings Management

A PowerShell script to get or set HP BIOS settings using WMI, with no module required. Settings come from the script or a CSV file.

July 29, 2019 · 9 min