A now close friend of mine, ex work colleague introduced me to Powershell over a year and a half ago. I havent been the same since and I try to share my knowledge of it to anyone who will listen.
It took a me a while to figure out what the title to this article was going to be. Because I feel like powershell isn't just for engineers, and its not even just for large organizations either. In fact I worked with a now close friend for quite some time who used it for O365 administration in law firms. Though most high paid Engineers, SysAdmins, Exchange or Microsoft gurus can attest the power... lol of Powershell. You don't have to be one of these to learn it or even have it in your toolbelt as a computer technician. And thats exactly why I wrote this article. Is because anyone from a Technician for a small office of 20 clients to a larger corp of 2000 clients can benefit drastically from the use of powershell.
Especially if your systems are in a AD Forest, or even not. Because there are some scripts you can write with PS that can still speed things up even if you have to run it PC to PC... as I like to call "BOTG, or Boots On The Ground". My journey with powershell started when me and my good friend developed a script to easily set up PCs as autologin devices. We both were in health care at the time, and would sometimes be deploying up to 20-30, even up to sometimes 50 or more machines at a time. We both got tired of going through the registry, creating and changing keys to make the computer use an AD account to auto-login. So we made a powershell script for this, Which can be found on our github if you work in healthcare or an environment that could benefit from this type of script.
However even this script got to a point where I was tired of having to make the AD accounts for these machines to use as well... I know, Im just a lazy admin. Buuuuut, Im efficient. So I put some R&D into our already well polished script and made it to where it would query AD for the user account that was entered. And if it doesnt find one, It copies one that I have set up in AD as a "Standard Auto-Login Account". It then creates a new AD user account based off the one it copied. This was also helpful for us in the sense that sometimes these devices were on wireless, and would use that same account to authenticate to out APs. The best thing about this script is that PS Remoting could easily even be added to it so that you could do this to a machine remotely if you know the current name or IP of the device.
Theres no telling, over the amount of devices we have used this on. The amount of time that it has saved us. Thats the best thing about Powershell can save you soooooo much time doing processes in batch or without 20+ clicks. Whether its installing software on machines where you don't necessarily want or need to us SCCM or GP or what have you. Or if its as simple as installing a network printer on a remote device and you don't use a print server. Scripting is a time saver, hell its why linux admins are so fast at what they do. It's why languages like Powershell exist. To make it possible to do repetitive task fast, and in bulk when needed.
With this being said, I know there will be comments saying why not use group policy, why not SCCM, why don't you have print server for this, etc. I know there are a lot more efficient and better solutions to some of things I have used powershell for. But not every company, business or industry is up to these standards yet or for them. It may just not be cost effective enough to bring in these solutions. Which is where powershell shines. You can create your own solutions. You can tweak these scripts perfectly to your needs, and alter or change it from the ground up on your terms. Its so interchangeable, compatible and honestly... Just works. So I suggest you follow our powershell thread that I will be keeping up with on here, and also adding the scripts to our github.