Home Blog Automate the Boring Stuff

Automate the Boring Stuff with PowerShell

Donald Seder Donald Seder
Dec 06, 2025
4 min read

If you are anything like me, you absolutely dread the mundane task. The things that are repetitive, take you all work day, or just not even fun but they need done anyways. Those types of tasks.

For me, this is where PowerShell has been a life saver in my career and even personal tech journey. From making insane custom tasks, to easily restarting a service in Windows faster than the GUI. PowerShell has become the tool that I tell every person new in IT to learn. Networking, Server Administration, and automation with PowerShell!

The Scenario

Imagine this: you get asked to go into a folder, and generate a report of every user or group that has permissions on each sub folder in there. Typically, that requires a lot of clicking, right-clicking, making note of the groups in an excel sheet and doing that numerous times. That doesn't sound efficient, nor fun does it?

The Solution

This is where PowerShell comes in to save the day! Take that same task, but imagine writing a few lines of a PowerShell script that will iterate through every folder, grab the users or groups, and compile that list for you in mere minutes or seconds! That is the power of PowerShell and automation.

Is It Worth the Time?

Now, don't let me fool you. PowerShell is a fantastic tool and one of the most useful tools in the server administration arsenal. However, creating really intricate scripts or commands can sometimes take hours to make. Depending on the task a script could take minutes, hours or days. I have had scripts that I have had multiple revisions take up to a week.

In the end, that's something that you need to define. Will doing this for a week save yourself or your company hours or minutes for each iteration of the script being run for its purpose? If so, then I think that time is absolutely worth it!

Consistency is Key

Adding to what can be worth it. Not only is time something that can be gained from using PowerShell for automation. But so is consistency.

For example, lets say you’re in an organization where you have multiple sites creating users, shares, groups, etc and they’re all created with different naming conventions, or a different way. How do you make that a bit more consistent while also saving time? You guessed it! PowerShell!

PowerShell can be used to help create scripts that are distributed across your enterprise so that whenever a specific task is done, you know it's done the same way every time. No user error getting in the way, causing makeshift double work. Which in the end, becomes another time saving propionate of PowerShell!

Customizable Scripting

Lastly, I want to discuss how PowerShell can be used for customizable scripting. A lot of ways that PowerShell can be utilized is typically ‘hard coded’ scripts. Meaning, if you need to do something to a different user, folder, server, etc. Running that script on that server can require redoing the script.

This is where components such as making your own PowerShell module or even using XML config files in your script can be used. Instead of updating the script, with a module you would just feed in a different server name. With an XML file, you would type into a different server name, path, etc and when your script loads, it would load up the change.

Doing one or both of these two things can ensure that when you need to migrate your script to a different environment, different machine, or change some items in it, that it can be easier and less time consuming.

Conclusion

Now get to learning PowerShell! Automate the boring things in life, and get back to the fun parts.

Security Warning

Remember, never hardcode your usernames, passwords, or other credentials in scripts!!

DS

Donald Seder

IT Infrastructure Engineer

Specializing in cloud infrastructure, automation, and enterprise networking. Currently managing systems at Six Flags.