PwshTips / field notes for admins

PowerShell for real administration

Practical scripts, troubleshooting notes, and repeatable workflows for Windows administrators who live in PowerShell.

This site covers the full arc of Windows automation: from one-liner fixes for cryptic error codes (4294967295, 1618, “the handle is invalid”) to production-grade patterns for error handling, logging, scheduled tasks, and remote management. Every script here has been tested in real environments, not just pasted from documentation.

What you will find:

  • Troubleshooting guides – step-by-step fixes for Windows errors, application failures, and system misconfigurations, with the exact commands to run and what each one does.
  • PowerShell patterns – try/catch/finally done right, handling non-terminating errors, working with native executables and $LASTEXITCODE, building reusable logging and transcript workflows.
  • Remote administration – WinRM, PowerShell remoting over SSH, managing fleets with scheduled tasks, and inventory scripts that query hundreds of machines.
  • Homelab and infrastructure – Proxmox VE migrations, Tailscale for secure remote access, WSL integration, and turning a home server into a mobile-accessible terminal.
  • Windows internals – event log recovery, taskbar management, RDP configuration, firewall rules, and the registry tweaks that actually matter.

How to use this site: start with a focused guide that matches your problem, copy the tested command, and adapt it to your environment. The search box covers every article. Categories and tags in the sidebar help you browse by topic.

New articles are published regularly. If you manage Windows systems and want practical automation that works the first time, you are in the right place.

PwshTips PowerShell and Windows administration

Clear commands. Real constraints. Fewer surprises.

Terminal showing setup-samba.sh run on vm2: testparm OK, Samba password set
Linux

Bidirectional SMB File Sharing Between Linux and Windows 11

Share a Linux ~/project to Windows Explorer via Samba, and mount a Windows D:\project share back on Linux via CIFS — both over Tailscale.

October 8, 2026 · 12 min · Mimi
PowerShell console showing a double-hop Access Denied error and the using scope fix
Windows

Two Hurdles in PowerShell Remoting: Double-Hop Authentication and the $using: Scope

Invoke-Command reaches the server but dies on the file share, and remote blocks can't see your variables. Both problems, both fixes.

October 7, 2026 · 8 min · Mimi
PowerShell console showing comparison operator gotchas
Windows

Five Deadly Sins of PowerShell Comparison Operators

PowerShell comparison operators look familiar but behave like nothing in C# or Python: collections become filters, $null has a seating order, and -replace speaks regex.

October 6, 2026 · 8 min · Mimi
Proxmox VE web interface showing a migrated virtual machine
MISC-VM

ESXi Is Dead: Migrating Your Homelab to Proxmox VE

Broadcom killed the free ESXi license. How to move a homelab to Proxmox VE: installation, honest pros and cons, and VM migration without rebuilding everything.

October 3, 2026 · 9 min · Mimi
Terminal showing tailscale status with the home server on the same tailnet
Networking

Tailscale: Your Phone Is a Terminal

Put Tailscale on your Android phone and your home server is one tap away: SSH, web UIs, and dev previews from anywhere.

October 3, 2026 · 8 min · Mimi
PowerShell terminal showing a function leaking extra output
Windows

PowerShell Has No Return Values

return $x is just $x plus an exit. Everything your function did not swallow becomes the return value, and that breaks scripts.

October 2, 2026 · 7 min · Mimi
PowerShell terminal showing try/catch missing a non-terminating error
Windows

try/catch Is Blind to Half Your Errors

try/catch only sees terminating errors. Non-terminating errors and native exit codes sail past it. The mechanism and the decision tree.

October 2, 2026 · 5 min · Mimi
PowerShell terminal showing WSL failing to configure mirrored networking
Windows

WSL Mirrored Networking and Tailscale Do Not Mix

Mirrored networking promised to expose WSL services on the tailnet. Instead it hid the Tailscale interface, then killed WSL networking entirely.

October 2, 2026 · 8 min · Mimi
Diagram of the blog publishing pipeline from WSL to Cloudflare Pages
Blogging

From WSL to the World: How This Blog Gets Published

The full publishing pipeline behind pwshtips.com: write in WSL, preview with local Hugo, push to GitHub, and let Cloudflare Pages deploy it live in under two minutes.

October 1, 2026 · 6 min · Mimi
Diagram of a 4-node Tailscale tailnet
Networking

I Replaced Port Forwarding with Tailscale Across 4 Machines (and What Broke)

No open ports, no DDNS, no router config. How I built a private tailnet across a Windows laptop, a Fedora VM, an Oracle VPS, and an ephemeral cloud VM — and the failures that taught me how it really works.

October 1, 2026 · 6 min · Mimi