Switch AD User Language Dynamically with PowerShell
Set each AD user's preferredLanguage attribute, build EN, NL and FR language GPOs with security filtering, then a scheduled PowerShell script sorts users.
Blog / Category
PowerShell and Python scripts I use for real work. Copy, adapt, run.
12 posts
Set each AD user's preferredLanguage attribute, build EN, NL and FR language GPOs with security filtering, then a scheduled PowerShell script sorts users.
Install WSL 2 and Docker Desktop on Windows, set up Dockge to manage containers and deploy a hello-world webserver by converting docker run to Compose.
Turn a Windows Server ISO into a ready VHDX template with Convert-WindowsImage, inject unattend.xml and enable NetFx3, all from one PowerShell script.
Build a full RDS lab on Hyper-V from a Windows Server ISO with my HomeLab PowerShell project: VHDX template, then DC, domain join and RDS from JSON.
PowerShell scripts that unzip MDMDiagReport.zip exports from Windows 11 devices, merge the Autopilot hardware hashes into one CSV and log serial numbers.
Python script that bulk-creates Private Pre-Shared Keys (PPSK) on a UniFi controller through its API, generating random keys from a CSV list.
Python script that turns a Wi-Fi SSID and password into a scannable QR code PNG with the qrcode library. Source and a compiled executable are on GitHub.
Python script that generates QR codes from a single URL or a CSV of URLs and saves them as timestamped images. Source and a compiled executable on GitHub.
Turn a Python script into a standalone Windows executable with PyInstaller, using --onefile and --noconsole for a single file without a console window.
Python script using the ipaddress module that reads subnets from a CSV and writes the first and last usable IP of each. Written for 100 subnets at once.
Python script that creates multiple VLANs on a UniFi site through the controller API from a list of VLAN IDs and names.
Python script that calls the UniFi controller API to create a new site with two SSIDs and a VLAN per SSID. Fill in your controller URL and credentials.