@ in

Open to roles · Houston, TX · relocating from Salt Lake City

I build infrastructure, process & reliability.

Systems administrator and IT project manager. Currently onboarding managed-services clients at an MSP. Previously ran Microsoft 365 and the full employee lifecycle for a ~200-person health insurer.

Selected Work

2019 – 2026

Windows Server Homelab

Self-directed, '26

A production-pattern domain built to practice what you cannot safely practice on a client's network: forest promotion, cross-subnet firewall policy, and storage pooling. Windows Server 2025 on bare metal, Hyper-V, two VMs, a hardware firewall, and 4.5 TB of pooled storage. Everything below is running.

Windows Server 2025 Hyper-V Active Directory DNS / DHCP Sophos XG 125 Storage Spaces SMB / NFS
topology — lab.local
Homelab network topology A Sophos XG 125 firewall separates a primary LAN on 172.16.16.0/24 — carrying the Hyper-V host with DC01 and FS01 virtual machines — from a wireless subnet on 192.168.30.0/24 used for remote management. WAN Sophos XG 125 · v22 Port 1 172.16.16.16 · Port 4 172.16.16.1 PRIMARY LAN · 172.16.16.0/24 2× TL-SG108E managed switch OptiPlex 9020 · host Windows Server 2025 DC · Hyper-V DC01 AD DS · DNS · DHCP · lab.local 172.16.16.60 FS01 File Server · SMB / NFS \\FS01\Shared HomeLabPool · 4.5 TB · SCSI passthrough WIRELESS · 192.168.30.0/24 Archer C7 · AP mode macOS workstation RDP + Hyper-V Manager cross-subnet firewall rule

Fig. 1 — Flat two-subnet topology. Management traffic crosses from the wireless segment to the server segment through an explicit Sophos rule rather than a flat allow. VLAN segmentation is staged next, once the domain is stable.

Host
Dell OptiPlex 9020 · Windows Server 2025 Datacenter
Directory
DC01 — forest promoted; AD DS, DNS and DHCP for lab.local
File services
FS01 — domain-joined, File Server role, SMB/NFS
Storage
Storage Spaces pool — 2×2 TB + 1×500 GB, thin-provisioned 4 TB NTFS virtual disk, SCSI passthrough to FS01
Edge
Sophos XG 125 (v22) — multi-port LAN/WAN separation, cross-subnet policy
DHCP scopes
172.16.16.100–200 and 192.168.30.100–150
fault log — 7 incidents, all resolved
Symptom Root cause Resolution
01 Hyper-V install fails, 0x800f0916 Component store corrupted by Windows Update; feature payload left DisabledWithPayloadRemoved. DISM /RestoreHealth from ISO failed on version mismatch. Clean reinstall from ISO, then install Hyper-V before running updates.
02 “Invalid Trusted Execution Technology configuration” at boot TXT enabled in BIOS against a TPM configuration that could not satisfy it. Disabled TXT; kept VT-x and VT-d enabled so virtualization stayed intact.
03 No bootable device after a successful install Installer split boot files onto Disk 4 while the OS landed on Disk 0 — UEFI found no loader. Disconnected every drive but C:, reinstalled, reconnected after first boot.
04 DC01 loses network; AD/DNS install fails Static IP assigned on 192.168.20.0/24 — a SERVERS subnet that did not exist on the physical network yet. Moved DC01 onto the live 172.16.16.0/24. Segmentation deferred until the domain was stable.
05 DC01 cannot resolve; gateway pings time out DNS pointed at 172.16.16.1 — Sophos Port 4, not the gateway. Gateway was right, resolver was not. Repointed DNS to 172.16.16.16 (Port 1).
06 Storage Spaces sees no eligible disks All three drives sat OFFLINE in Disk Manager and carried partitions from prior use. Brought each disk online, cleared old partitions; the pool wizard picked them up immediately.
07 Virtual switch configured correctly but no traffic Switch never completed its bind to the physical Intel NIC. Restarted the Hyper-V Virtual Machine Management Service (vmms) to force rebinding.

Carried into client work: install hypervisor roles before patching, isolate disks during OS installs, and confirm which firewall port is actually the gateway before blaming the virtual switch.

Employee Lifecycle System

Health insurer, '23–'25

Most sysadmins inherit a provisioning process. I designed one. Built the onboarding system for a ~200-employee health insurer end to end — permissions, licenses, equipment, documentation, training — then built the matching deprovisioning path so company data was secured at offboarding and equipment and licenses were recovered and redeployed rather than lost. Repeatable and auditable, which is the part that matters when a regulator asks.

Microsoft 365 tenant admin Exchange Online Active Directory Proofpoint Jira Service Management Asset lifecycle

MSP Client Onboarding

MSP, '26–present

Own end-to-end onboarding for 10+ managed-services clients at once — timelines, technical deliverables, and the translation layer between engineers and the people signing the contract. Runs from signed agreement through transition to steady-state support, with network assessments and pre-sales infrastructure recommendations feeding the same work.

Project delivery Network assessments Stakeholder comms Sophos deployments Process improvement

Lifecycle Automation

In progress

Turning the lifecycle system above into running code against the homelab domain: a script that reads a new-hire CSV, creates the AD user in lab.local, assigns groups, provisions a home folder on FS01, and emits the welcome documentation. Repository goes public when it does.

PowerShell Active Directory Python