About Me
Who I am
Hi and welcome! I’m Aaron, and this is my blog about my favorite tool in my IT toolbox: PowerShell.
My love for computers began with games, was fostered by the world of BBSes and truly began its direction in high school in early programming classes. Much to the chagrin of my high school counselor, I chose computer science electives over “real” physical sciences like chemistry. I was exposed to the power of programming, using Pascal, C++, and HTML.
When I went to college, I declared my major as Computer Science from the get-go and never looked back. My formal education built my understanding of computers from the ground up, beginning with binary numbers, circuits and finite automata. With these principles at the foundation, I gained a deeper understanding when we actually got into coding, networking, and database design.
After my freshman year of college, I began a summer job in IT at a local small business. This job ended up being the practical Yin to my educational Yang. I was encountering real world problems everyday, often with technology I had not worked with before, and was forced to research, analyze, and troubleshoot those problems to find solutions. It gave me a better holistic understanding of how computing environments operated, from workstation to server, operating system to application, network to storage, functionality to security.
I left school with a BA in Computer Science, with a job as a developer my next goal. I found developer jobs, but nothing that called to me. Mainframe code maintenance in COBOL wasn’t what I envisioned. As luck would have it the company I was working at during the summer and holidays hired me as a Desktop Support Technician, officially beginning my career in IT. Since then, I have continuously been learning and growing, remembering and applying lessons learned in the past while always looking to discover something new.
Over my 15+ years in IT, I have been on the front lines with Desktop Support all the way to the back lines as a Systems Administrator, Systems Engineer, and Systems Architect. Sometimes I wear all of these hats on the same day! I continue to enjoy the work and approach every day as a new challenge and opportunity.
Why I blog
I can wear many hats in a single day as part of a small, lean IT team. I need to find ways to do tasks faster in a consistent, repeatable manner. Even more, I need to be able to hand these tasks off to an Operations team so they can execute without having to follow a verbose, manual procedure document. PowerShell is the way!
Why PowerShell?
PowerShell is a standardized automation and management scripting framework built on .NET. Not only can it natively manage the Windows OS, but it now is the behind the scenes management glue of Microsoft’s popular platforms like Active Directory, Exchange, Azure, and more. In addition, other major IT vendors like VMware and NetApp have created PowerShell modules for managing their solutions, turning PowerShell into a universal glue for managing Windows-based IT environments.
When I write a script in PowerShell to accomplish a task, I accomplish three things:
- I make the process efficient. What may take minutes to perform manually, the PowerShell solution can complete in seconds.
- I make the process consistent. By incorporating decision logic and configuration choices, the PowerShell solution will output consistent results, removing opportunity for manual error.
- I make the process repeatable. Whether performing a task once or a hundred times, the PowerShell solution will repeatedly give me the efficiency and consistency I need, and I can turn the solution over to IT Operations with input parameters and expected output, without requiring expertise knowledge of HOW it works.
So why blog about PowerShell?
I decided to start a PowerShell blog for two reasons:
- To force myself to understand PowerShell better.
- To contribute to the Internet knowledge base on PowerShell.
To force myself to understand PowerShell better
"If you can't explain it simply, you don‘t understand it well enough."-Albert Einstein
Often times in IT, we can be seduced into following instructions or recommendations blindly without fully understanding what we are doing. We may do this to save time or because the matter at hand does not intrigue us. This lack of interest up front can come back to bite us later when we need to enable a system to do something new or troubleshoot a problem. How can we know what a system is capable of or fix a problem if we don’t attempt to understand it?
By blogging, I take time outside of my professional responsibilities to sit down and explore, to ask and attempt to answer how and why about PowerShell. I will know I have gained a good understanding about a function or problem when I can communicate my knowledge clearly in written or video form.
Also, even when I think I know something, writing about it forces me to re-learn it, which I find gives me a deeper understanding of a concept than I had before I sat down to write about it.
To contribute to the Internet knowledge base on PowerShell
"Never memorize something that you can look up."-Albert Einstein
What did people do before the Internet when they didn’t know something?!? They probably went to the library or asked a friend if they knew. While potentially effective, NOT efficient. The Internet and search engines puts a world of information readily at our fingertips. For myself a majority of continuous self-learning and troubleshooting has been conducted from a search box.
By blogging, I seek to contribute PowerShell explanations, How-tos, instructions, recommendations, problem resolutions, and discussion to this ever expanding ocean of knowledge.
credit: xkcd.com