BEN READER
Solutions Engineer - Process and Solutions Automation
| Email: | ben.reader(a)gmail.com |
| GitHub: | https://github.com/tabs-not-spaces |
| Twitter: | https://twitter.com/powers_hell |
| LinkedIn: | https://linkedin.com/in/ben-reader |
Summary
I’m an IT professional with over 10 years of experience providing solutions delivery, support and automation across a wide range of industries.
Process automation is one of my strongest passions. I’ve successfully migrated clients from On-Prem IT management and infrastructure into modern, entirely cloud-based systems, leveraging the newest solutions from Microsoft in the end use compute space, including but not limited to Microsoft Intune, Microsoft Defender ATP, Windows 10, and all emerging platforms.
I’m also passionate about filling gaps within Microsoft’s modern device management stack with complex and resilient solutions developed in PowerShell. Using Azure DevOps, I’ve developed and delivered highly customizable and maintainable solutions to allow the management of existing infrastructure, such as network file shares and local printers, while promoting change management and building automation tailored to the clients needs.
I’m seeking to continue doing what I love - diving deeper into process automation within the end user space. I also want to expand my field of expertise and further cement my position as a trusted, valuable and respected resource within the global IT community.
Hard Skills
Azure, Azure Automation & Functions, Azure DevOps, Git, Hyper-V, Intune, Kusto, Lighttpd, MEMCM, Microsoft Graph, Modern Device Management, NGINX, Node.js, Power Automate, PowerBI, PowerShell, Shell \ Bash scripting, Typescript, VMWare ESXi, WQL.
Experience
Senior End User Compute Engineer
Vigilant IT
Mar-2017 - Present
- Senior resource in the “end user compute” project team.
- Process automation and cloud solution architecture.
- Application packaging.
Achievements
- Successfully completed 6 Modern Workplace migration projects, moving clients from a variety of industries away from on-premise domain joined device management and into the Microsoft cloud-based management space, utilizing the full Microsoft MDM stack including Intune, MDATP, MCAS, Windows Hello For Business, OneDrive etc.
-
Development of “Industry Leading” solutions to allow clients to move to cloud-based endpoint management faster than anticipated, while still providing support for existing on-premise software and infrastructure. Some examples include:
- The ability to deploy and install complex applications via Intune before Win32 applications were available. The solution involved a bespoke (but standardized) PowerShell installation wrapper which would pull installation media from Azure storage containers.
- On-premise drive and printer mapping to allow existing infrastructure to remain while the rest of the end user space moved to the cloud. Written entirely in PowerShell, the solution used Azure Functions and Microsoft Graph to allow RBAC drive & printer allocation to all staff members exactly as they are used to with previous Group Policy configurations.
- The development of CI/CD pipelines to allow handover of the day to day changes involved with existing infrastructure. Complex build testing allows inexperienced staff to make changes to drive mappings and printer queues without risking critical incidents.
- Development of a simplified programmatic process workflow to allow complex application installs to be developed and tested rapidly by staff. Moving away from the Azure GUI and leveraging PowerShell, we can now use VS Code tasks or Azure DevOps pipelines to develop, test and deploy complex applications, with rigorous testing and vetting before application packages end up on clients Intune tenants.
- Development of an “Intune baseline deployment” solution, allowing us to turn aspects of Intune configuration into “products” that clients can pick from to build out their environment quickly and reliably. Template driven tenant provisioning has allowed us to drastically increase the resiliency of our solutions as well as allowing significant “code reuse” allowing for us to not spend as much time on the same piece of work for each client.
- Development of a solution to extract and store historical backup data from a variety of backup solutions (Backup Exec, DPM etc). Using PowerShell and SQL and a custom PowerBI dashboard, we now have not only real-time visibility of our backup stats, but also deep historical information that previously was unavailable to the company.
- Development of a customized “Name-Picker” solution for a large health organization allowing IT resources to allocate and correctly name devices during the SCCM Task-Sequence allowed for reliable location based deployment of hardware.
2nd Level Desktop Support
TAL
Feb-2014 - Feb-2017
- Senior desktop support specialist.
- BAU support, SCCM administration and application packaging.
Achievements
- Developed and deployed a solution to remove display drivers that were incompatible with “all in one” docking monitors which were provided as a warranty replacement from a leading hardware vendor. With the existing drivers installed, the new monitors were inoperable. My scripted solution removed the drivers silently and handled a large variety of driver versions, computer models and operating system architectures with 100% success rate.
- Development of solution to allow IT department to have better visibility of the various database connections an in-house application was configured to use on end user devices (PROD / PRE-PROD / DEV). With this information available, the monthly deployments of the in-house core application greatly increased in success and accuracy allowing further automation of the monthly deployment process within the company.
- Automation of the packaging process of the core system applications that were deployed on a monthly basis. Developed entirely with PowerShell, I cut the packaging process down from 1 hour to a 10 minute process that could be completed by junior staff with senior staff required to simply approve the package.
- Development of a solution to allow the location of staff in a flexible working environment using nothing but SCCM, PowerShell and a SQL database. When a user connected to an “all in one” docking monitor, the serial number of the monitor which was tied to a desk number was flagged and stored in a database. A simple UI was created to view staff locations which allowed for greater staff visibility and desk availability.
Desktop Refresh Lead
Energy Australia
2011 - 2014
- Contract position leading the desktop refresh project (rolling refresh of ~2500 devices).
- Supplemental role as senior desktop support for CBD locations.
Achievements
- 100% refresh targets met (~850 devices per year). Locations included corporate offices and contact centers.
- Developed software to assist myself and my team with refresh duties. The software allowed us to:
- Automate the software auditing of devices, using PowerShell to query SCCM.
- Obtain real-time information on the current user and location of the device.
- Automate appointment setting with customizable email templates.
- Automate the backup of user profiles remotely and silently, greatly improving our start-to-handover refresh workflow.
- Developed a front end application to allow all Desktop support and management to obtain real-time info on the existing end user desktop fleet.
Exams Passed
MD-100 Windows 10
Achievement Date: December 16, 2019
MD-101 Managing Modern Desktops
Achievement Date: January 17, 2020
Certifications
Microsoft 365 Certified: Modern Desktop Administrator Associate
Achievement Date: January 17, 2020
Expiry Date: January 18, 2022
Courses
- Azure Infrastructure and Architecture Course (2017)
- UEM + Security CxE Global Training: Fundamentals (2019)
- Azure Sentinel Technical Training (2019)
- M365 Security Bootcamp (MS-500 Exam prep / deep-dive) (2020)
Community Involvement
PSConf Asia (2018)
Attended PSConf Asia as a speaker where I presented a talk on deploying complex applications to Intune using PowerShell, Storage Accounts and Graph.
PSConf Europe (2019)
Attended PSConf Europe as a speaker where I presented two talks:
- Automate your application packaging for Intune - https://www.youtube.com/watch?v=Q2bHbKp5qOQ
- Intune Programmatically: Provision Intune environment using Plaster, Azure - https://www.youtube.com/watch?v=aB11zmyG2Ds
Intune.Training
Regular guest contributor to the YouTube training site “Intune.Training”, where I generally present on more advanced automation concepts.
- Automating the Syncing of SharePoint Team Site Libraries - https://www.youtube.com/watch?v=Zoac9lbUuG0
- Build Win32 apps Using PowerShell, VSCode Tasks & Intune Graph - https://www.youtube.com/watch?v=gGgj8AALrgQ
- Intune PowerShell Scripts - Re-Running Failed Scripts - https://www.youtube.com/watch?v=LLgVGLSrH28
Powers Hell Blog
Powers-hell.com is my personal educational tech blog dedicated to documenting knowledge learned “on the job”. Always centrally themed around PowerShell, the site covers how using PowerShell can make your job easier, more efficient and more fun.