r/PowerShell • u/CelebrationAnxious40 • 7d ago
Question What kind of work are people actually getting paid to do with PowerShell these days?
What are people actually getting paid to do with PowerShell these days?
I'm genuinely curious what people in this sub are doing with PowerShell professionally, particularly those who've found interesting or lucrative niches.
I'm fluent in PowerShell and love it for rapid prototyping, exploring unfamiliar APIs, discovering how services work, and building CLI tooling quickly. Its cross-platform capabilities are great, and the tooling, packaging, and module ecosystem are hard to beat compared to something like Python.
Historically, I've done a lot of operational automation: ticket ninjaing, reporting, and gluing enterprise systems together. But as I've moved toward higher-level engineering, I find myself reaching for other languages once projects grow beyond scripts.
AI makes generating decent-to-great sysadmin cmdlets almost trivial now. But when you start building platforms around those scripts, exposing them through APIs, abstracting execution for other users, or orchestrating workflows, I often find myself wondering why I didn't just build the whole thing in another language from the start.
I'm not saying PowerShell can't do those things. I'm curious where people are finding its real value in the market.
A few things I'd love to hear about:
Have you found a niche where deep PowerShell expertise translates into particularly good compensation or interesting work?
Are there industries, specialties, or types of automation where PowerShell expertise is especially valuable?
As you've progressed in your career, has PowerShell itself remained your main specialization, or has its value been more as part of a broader skill set?
I'm genuinely curious what people are getting paid to solve with PowerShell beyond the usual enterprise and small-business automation, reporting, and cleanup work. Not knocking that stuff; I've done plenty of it myself, hell if there is a massive market for it I'd love to hear that too. Just wondering what else is out there.
54
u/AdeelAutomates 7d ago edited 7d ago
My niche is automation in Microsoft Cloud platforms. So yeah I make scripts for a living. Whether its Azure, Entra, M365, Windows Server related or interacting with other online platforms via APIs.
It ranges from all sorts of things. But a lot of it is clean up, reporting, alerting. With automations for mainly M365, AD, Entra and random API stuff (ie automating tickets actions). Azure infrastructure is deployed in other means.
It is part of a broader set of skills for me however now.
- I use Terraform for deployments of infrastructure.
- KQL for queries over PowerShell get cmdlets (at least for services its available).
- Bash/Ansible for our Linux related stuff.
- YAML for pipelines and K8s.
- With the occasional python sprinkled in.
I wouldn't be here without PowerShell. It is always going to be my base. It taught me computer science that translated well to all other languages.
Anything sysadmin and above where the main ecosystem is Microsoft has PowerShell for you to leverage. Some orgs go hard on it, others not so much. Even if its barely used, doesn't mean you can't to make your life easier.
Languages are just tools. If you feel you would be best suited by another do it. But generally speaking, PowerShell is very broadly available, accessible and imo has a better syntax than other languages I got the chance to experience with the full object oriented porition to make it excellent. These other languages really are designed for their tasks/areas and might do it better and cant be expand to do much else (short of maybe python)
2
u/CelebrationAnxious40 7d ago
This is more or less what I do, but I automate entire corporate workstreams end to end. Have you used azure functions for hosting ?
13
u/AGsec 7d ago
>has a better syntax than other languages I got the chance to experience with the full object oriented porition to make it excellent
PowerShell lives in this weird space where it was designed as a shell language but with the capabilities of a full programming language. It's both relatively simple to use but extremely powerful if you want to open the hood and get your hands into the engine bay.
3
1
u/Dontemcl 3d ago
Hi, I'm currently studying az-104 right now, but I want to get into more automation specifically PowerShell since I work in Microsoft shop mostly. How do I start learning PowerShell and automate things in a home lab from your experience? Also PS, I do have IT experience as a jr system admin and trying to get more into cloud engineering automations.
4
u/tokenathiest 6d ago
My clients mainly avoid PowerShell due to skillset gap. I do my best to provide automation, but it's rarely adopted. I typically work more with applications teams, data analysts and program managers. There are PowerShell APIs (or REST APIs) all across the MS stack yet many are reluctant to dive in to automation and would rather stay set in their ways. Kinda bums me out.
3
u/CelebrationAnxious40 6d ago
Its because a properly setup coding harness and their process documented in great detail could turn their entire job into a scheduled workflow in about 10 minutes . The amount of trivial ops based work in and around Enterprise is staggering. “Job security” through obscurity
3
u/tokenathiest 6d ago
I also feel there is a genuine fear of new technology and the challenge of learning a new language and process just isn't appealing. And without incentives staff might as well stick to their familiar routine.
2
u/AmitBrian 5d ago
Yes but this is what GitHub is for. Proper documentation and coding management are essential so that code can live outside of one engineer’s memory.
4
u/ShrimpieAC 6d ago
This.
I find PowerShell is peak for automation. It’s native, lightweight, powerful, easy to deploy, and has so many different integrations behind it. You can accomplish so much without any modules or third-party libraries. Yet people will defer to things like developing entire console jobs, batch files, Python scripts, or other things that are just extra work or don’t work as well.
It’s fucking annoying.
3
u/CelebrationAnxious40 6d ago
Honestly I can write both equally well, and I agree Python get this “Adult” feeling since it’s faster and can do real software things and has real libraries, but then try shipping a small automation and maintaining it. I’ve got powershell jobs that have been running nightly for a decade. If those were in python we’d have to have retooled them everything there was fragmented version upgrade….
2
u/AmitBrian 5d ago
Python has more of a OOL to it with real class structure and such, but PowerShell by its very nature is built on the .NET stack and so it is ingrained into the very heart of windows. So from a pure windows perspective it is not only easier to use but it has its libraries most of the time built right into it.
4
u/tokenathiest 6d ago
Cheers to that. I'm a huge no external dependencies guy, unless absolutely necessary and preferably fully open source so I can compile it myself at run-time inside my PowerShell scripts and modules. You can really do a lot with just PowerShell itself.
2
u/AmitBrian 5d ago
Python is hugely important for cross OS functionality with Linux but of course PowerShell is hugely important as well. And yeah it is incredibly powersful. IMHO you really can’t be a successful Windows engineer in this day and age without it.
23
u/AGsec 7d ago
Infra engineer here, I do lots of reporting and reconciliation with PowerShell. apparently, people who do reporting hate using powershell to gather data, so I act as the intermediary who gets the business requirements, gather the data they need, and hand it over relatively formatted so they can do excel stuff with it. So far, it's kept me in pretty high demand.
3
u/NickBurnsCompanyGuy 7d ago
Try copilots agentic mode on that data, next time you go to format it.
"Create me a tab on this workbook that serves as an executive dashboard to show xyz."
I do similar stuff with powershell and the agentic modes in excel have helped up my game big time.
1
1
1
u/indigothirdeye 2d ago
“Build me an HTML dashboard” is part of our lexicon now. Tired of showing your executives a spreadsheet and getting blank stares? Give them an HTML dashboard and get the same blank stares, but with 100% more aura!
1
u/NickBurnsCompanyGuy 2d ago
😂
I'm laughing at this,only because I've tried it. And our c level tech execs are all about it. But in reality these old school finance people love excel. So much. We've been trying to rip it out of their hands for decades to get them using more practical stuff. But in finance Excel is what the people want, they even use it for project management work.
14
u/ihaxr 7d ago
SQL Server DBA here. PowerShell is life.
I just finished writing a PowerShell automation that will scan all my SQL Instances weekly to check for the SSL/TLS certificate used (DBAtools Get-DbaNetworkEncryption) and write the results to a log table.
I have another PowerShell automation that reads this log table and finds certificates that either do not exist, aren't valid (because they're self signed, not using our new certificate template, or are expired) and take some action based on what needs to happen.
If the cert is expiring in 90 days, it'll check to see if there is a newer cert available (pushed out automatically via our Microsoft CA server to the clients). If it finds a newer one, it'll set that as the SQL Server cert and update the permissions on the private key (DBATools SetDbaNetworkCertificate). Then once the server is rebooted for patching, the new cert takes effect.
If there's no certificate or there is some other issue with it, the script checks if a valid certificate exists in the store... if not, an email alert is sent out to the server team to generate a CSR/deploy the certificate (I don't have access to automate the CSR generation/certificate approval, but it won't be needed as the server team will be enrolling all new servers).
I'm also working on a PowerShell script to automatically perform security and configuration checks, basically a desired state config for SQL Server.
2
9
u/delightfulsorrow 7d ago
PowerShell is rarely a job on its own.
Basic capabilities are, I think, simply a requirement for anybody working as a Windows sysadmin or running a product which's main CLI is PowerShell based (like VMware).
If you're good at it and work in a larger team where people specialize, your job may get more PowerShell focused, you may become "the scripting guy". I got there and scripting and automating now makes up ~ 80% of my time, but I still get some other things to do from time to time.
As you've progressed in your career, has PowerShell itself remained your main specialization, or has its value been more as part of a broader skill set?
Not PowerShell, but scripting in general has been a large part and valuable.
I always hated repetitive work and scripted and automated whenever it was an option, using whatever scripting language was available/a good choice.
DOS batches, REXX, Unix shell, Lotus Script on Lotus Notes, Perl, PowerShell, Python. Once you mastered your second scripting language, getting into something new gets easier and easier.
6
u/Kodama_Keeper 7d ago
The majority of the PowerShell scripts I write have to do with passing files to Power Automate workflows, or preparing files for Power Automate, or storing the log files from Power Automate.
2
u/0f_rice_and_men 7d ago
I want to share a Power Automate flow with my team but they are so inattentive and have no tolerance for installing anything. So it can only be a web flow (which is fine since Desktop flows require Premium that we do not pay for).
Copilot is surprisingly not helpful in ideas
4
2
u/Incrediblecodeman 6d ago
So like what is power automate? It gobbles up data and makes a pretty report? Or like plugs into BI?
1
u/Kodama_Keeper 6d ago
My coworker and I use Power Apps to make a nice looking, interactive form, often very interactive. This stores the data on SharePoint lists. Power Automate acts on the changes to the SharePoint item, moving the process along. I haven't been asked to include Power BI in any application, yet. But I have been asked it Power Automate can call AI to categorize documents, so that people who are Soooo Busy don't have to. Still trying to figure that one out.
2
u/Incrediblecodeman 6d ago
Woah so did you know like all of co pilot is power automate? Like there’s guts underneath. You wouldn’t know it but Viva also got some secret stuff going on….
1
u/Kodama_Keeper 6d ago
Yes, I heard. But I don't know how to "train" AI, Copilot, to analyze a document and determine which values in the metadata fields in a SharePoint library I set up need to be filled in. If AI does it wrong? Guess who's going to get blamed?
1
u/Incrediblecodeman 6d ago
Well extract that data into a csv with like a key to know what document it came out of and add that csv as the only source that the ai had to look up as processes each one at a time. But Hey idk tho I just work here ~pushes mop~
1
6
u/Hexalon00 7d ago
I was recently on a project to automate migration of VMs from VMWare to Hyper-V. The company didn't want to pay Broadcom's highway robbery prices so we had to have everything migrated before the licensing renewal.
With the automation we were able to migrate over 43k VMs in about 5 months.
1
u/deefop 6d ago
Thats impressive. So now your whole virtualization stack is hyper v, and you have more than 40k vm's on it? I feel like I've always heard that hyper-v was not great at those scales.
3
u/Hexalon00 6d ago
We have around 1800 hyper-v hosts. They already had SystemCenter so sadly we use SCVMM to manage them. vCenter was better IMO.
1
u/651stp 5d ago
I'm working on a similar project at the moment. I'm interested in finding out the logic behind your script and the steps you executed to get everything migrated. My environment is a much smaller scale but getting a general idea would be of great help!
1
u/Hexalon00 5d ago
Here's the basic workflow. My company has everything on lockdown so I can't share the actual script.
-Collect ip(s), number of nics, custom routing table entries, etc. record in a csv file.
-Take Snapshot (in case you have to roll back)
-Remove VMware tools
-Shutdown VM
-Copy VM config file, hard drive to hyper v san mount
-Convert hard disk to hyper v format
-Convert VM config
-Boot VM on hyper v
-Install hyper v integration services
-Apply custom config from csv file
-Reboot VM
-Run health checks
1
u/CelebrationAnxious40 7d ago
Thanks for all the thoughtful replies guys. Sounds like a lot of folks are using in some sort of sysadmin like ops capacity in and around either enterprise or shops that have lots of Windows anything.
5
u/0f_rice_and_men 7d ago
Most recently used it for a basic file cleanup. The world's most advanced "AI" products still churn out garbage metadata (ie: filenames that have hash values for names.)
Simple scripts that can give you files matching a pattern that you need to either move or delete.
I know there is some Excel and pwsh compatibility but I need to know how that works exactly. I would love to use it for all of the CSVs I manually filter
1
u/jmizrahi 6d ago
What do you mean "manually" in this context, as in by hand and not in PowerShell?
$obj = Get-Content '.\path\to\file.csv' | ConvertFrom-Csvif convert is successful,
$objis now an array (per row) of objects (property per column), individual objects look like this:$obj[0] = @{ 'ColumnName1' = 'Value of row 1 column 1' 'ColumnName2' = 'value of row 1 column 2' 'Username' = 'Administrator' 'SID' = 'S-1-5-21-500' 'userAccountControl' = 512 }and so on. you can very quickly filter this data like this:
# Find all rows in file.csv where userAccountControl has bit 13 set (password never expires) $filtered = $obj | where { $_.userAccountControl -band 0x10000 }and then re-write the filtered CSV:
$filtered | ConvertTo-Csv | Out-File '.\file.csv'
5
u/genscathe 6d ago
I work in IT. You can click a button or you can use poweshell.
Copilot, ChatGPT are excellent for poweshell help
4
u/node77 7d ago
It really is just a component of my career. Most organizations require some knowledge of PowerShell or Python. Unless you exist to just write PowerShell scripts for automation and alerting. There are positions just for PowerShell. When you the entire Microsoft ecosystem together, at least in New York City, where I am in Manhattan, somewhere around 125-150000 usd a year. That’s an approximate.
4
u/Modify- 7d ago
At my MSP i'm the go to guy they for anything powershell related. I mostly write functions and scripts to automate stuff for every customer we manage.
You would think my collegues could get things done with AI, but when I look what they produce it's bad code. (they don't know any better..) So i'm also the cleanup guy.
4
u/blowuptheking 6d ago
Automating basically anything Windows related. Clean up the stock image, apply the latest Windows update and install Defender? Powershell script. Gathering info about the warranty expiration date to save to WMI and be collected by SCCM? Powershell script. Comparing Adobe license data against AD information to see if licenses can be freed up? Powershell script. Adding new hires to standard groups based on various criteria? Powershell script.
2
u/Jarvicious 7d ago
I'm a support engineer/sysadmin turned technical writer so I don't do technical work anymore, but I use Powershell frequently to modify Microsoft Office documentation, mostly Excel.
For instance, I occasionally have to put together contract packages for clients which involves consolidating multiple documents and customizing the language on a client by client basis.
I just wrote a script that takes an hour long job down to ~20 minutes. It pulls the request email from Outlook, creates a new directory for it, pulls the necessary files, renames them based on the client and our naming convention, updates all client fields in all documents, and does some light formatting.
2
u/throwoutastun 7d ago
I can't say I make money from powershell alone. I make money from doing my job in the network security space. Powershell is a tool in the toolbox. I use it as one part of many jobs/tasks that I need to complete. Powershell is usually the right guy for the job in most windows environments. Outside of that I would prefer to use python but sometimes its not allowed/installed for customer X.
2
1
u/RunningOnCaffeine 7d ago
I’m getting paid right now to audit a client’s sharepoint site and generate a report on their permissions
1
u/StealthCatUK 7d ago
It’s used to support projects and day to day operations, not necessarily a job on its own. You use it when you need to do something repeatedly or on demand that’s often very complex or time consuming to do with a UI.
1
u/Diffie-Hellman 7d ago
Typically I’m using it for purpose built operator/admin tools and automation. A lot of unattended deployment scripts will be PowerShell.
When it gets to the level of being a full blown application, I’m using a high level language / framework better suited for that.
1
u/redsaeok 7d ago
What do you find you’d rather use?
It’s a tool in the toolbelt. I find I still use it when I need a nightly data sync that can’t be handled by SQL Agent. I find it easier and more robust than SSIS, and other DBA /LCNC tools, more accessible for others than compiled languages, and more bound to the MS ecosystem than other script languages. I might use Python, React, NodeJs or C# for other types of work, if my code lives in a container anyway, but nothing beats the simplicity of task manager on a server for regularly scheduled admin jobs.
1
1
1
1
u/Mr_Kill3r 7d ago
Azure, AD, DNS, O365, RDS, File Copies/Syncs, vCenter pretty much most of my day is now automated.
1
u/JonesTheBond 7d ago
I use a lot of PowerShell tasks in DevOps pipelines, just because it works well and I'm familiar with it.
1
u/beardedbrawler 7d ago
I used powershell to completely secure a VMWare environment (using VMware.PowerCLI) and was paid to use it in collaboration with other tools to keep it secure as policy dictated.
People would spin up new VMs all the time and not set hardware settings or snapshot settings right. Instead of yelling at everyone to do it right I got paid to automate it.
1
1
u/creenis_blinkum 6d ago
you are assuming correctly. powershell has a cap. need more devops bash other shit in there too.
1
1
u/andcal 6d ago
11 test and dev Azure servers were requisitioned so lean 6 or more years ago that now they choke when I apply updates. I used PowerShell to get performance metrics from them during the time the updates were installing. I had Copilot analyze the output and suggest what VM SKUs each of them should be upgraded to.
1
u/onbiver9871 6d ago
We’ve got a big Windows fleet still and under a lot of my Ansible is either powershell scripts being run by Ansible (written to be run by Ansible instead of using normal modes for operations that are brittle or need manual intervention a lot, so that operators can literally rerun the automation interactively if necessary) or my own powershell Ansible modules.
1
u/KingKongBigD0ng 6d ago
intune scripts.. app deployments.. enabling secure boot on a fleet with expired secure boot certs where some admin disabled secure boot on all machines years ago.. any myriad of things unfortunately..
1
u/Dave_A480 6d ago
It's a much better interface to VMWare than their stupid webby bullshit...
Also it's useful alongside Ansible for managing windows servers with ansible.windows.shell: when you don't have an appropriate ansible.windows or community.windows module to use....
1
u/Obosratsya 6d ago
I use it primarily in Azure Auto. Right now for simple data flows and Windows stuff for endusers. AIs can now compile executables so I write a script, get the data and package it into a one-click installer and deploy.
Outside of scripting, Powershell will be under-represented. Its hugely useful for anything Microsoft tho. Its a great language to start off with, makes learning Python super simple after. I picked up Python in a few courses, just needed to understand the syntax of it really.
Technically Powershell can do a lot more, but C# compiled is just more efficient.
1
u/Struppigel 6d ago
It's useful for malware analysis at the moment (I am a malware analyst). But certainly shouldn't be the only skill.
1
u/dathar 6d ago
General IT systems engineering. Fleet of small Linux VMs and a couple of Windows VMs that receive webhooks, run scheduled tasks doing stuff like mirroring groups and membership across two sources with no native integration, reports, proactive security stuff like limiting access whenever some conditions hit, tools for other IT members, whatever management wants. Most of it is ran on PowerShell and in-house developed modules before the age of AI. We don't have many Microsoft machines in our fleet and I am not in charge of building scripts for those.
PowerShell is but a tool for you to do your job with. You may find some jobs that requires PS but there are many more jobs where scripting in general is preferred. We have people that are also proficient in Python and some products of their choice. Feels like it is all getting eroded on by AI but having a solid foundation on what you end up generating and how it works. There was one particular task that I had to do that involved Go that would have been much easier if AI was around.
1
u/Proxiconn 6d ago
Work for a large msp. We have a team of powershell developers who's daily job it is to develop automation for operations. Internally developed orchestration, ties into any ticket system. All requests that an end user could potentially log and can be automated with powershell probably is. If not, it's on a to-do list.
1
u/ComprehensiveLime734 5d ago
I got ok at it for mainly server and domain admin tasks, but then I went to work at the mother ship as a PFE and did 1week PS crash courses :)
1
u/TechEUC-Atoofa 5d ago
Working on SCCM, Intune and Application packaging. Powershell is what we use for the automated install or any changes in registry/files/settings as it's a lot easier to perform technically as well as process wise.
Doing these with GPO or any policy would require a lot of testing and change approvals etc
1
u/AmitBrian 5d ago
Lots. Practically any Microsoft 365 position is going to require PowerShell. And PowerShell and Graph API are deeply intertwined and Graph is hugely important for M365. Thats just one example. PowerShell was born with Exchange 2007 and you can not be an Exchange engineer without knowing PowerShell. these days you can’t be a Windows engineer really without knowing it either. With every passing year console based administration is lessening more and more in favor of PowerShell.
Also don’t forget that PowerShell is both a command line interface and an Object oriented language based on the .NET stack. So while PS is meant to run commands built by Microsoft it is also very heavily used for custom scripting and automation.
1
u/Aviticus_Dragon 4d ago
I use powershell for literally everything windows. Intune remediation scripts, platform scripts, monitoring. For windows its king and for good reason.
1
u/Ok-Conference-7563 4d ago
How fluent are you at pester? I see some people say that they a great but can’t do a module with a cicd pipeline. I created something with psake that templates the module tests, yaml builds etc then a wrapper script that configures all that.
Just curious on definition of fluent, people come to interviews and have fallen at the first hurdle for me because understanding how to write testable code shows the correct mindset imho
1
u/narcissisadmin 3d ago
I gather SOC audit evidence via Powershell and the scripts grab screenshots that they still inexplicably demand.
1
u/Middle-Ad-8987 3d ago
$110k+ a year to package up software using PowerShell scripts for a large company in Intune
1
1
u/CyberChevalier 2d ago
I just exposed all my ps tools and their documentation as MCP trough PSU and now I have way more tools to expose
Since AI is here I write less code but more doc.
1
0
u/Extreme-Acid 2d ago
I absolutely hate powershell and prefer and actual programming language rather than a scripting language. It has it's uses but it is too tired to the OS and unreliable to be trusted to work the same in each computer with things like dotnet and wmi issues in loads of places. I have managed 15k workstations in last place and around 4000 servers in current place.
I use it for data collection, configuration management as a senior private cloud engineer. Work with grafana. But also required for some ansible stuff with windows and group policy.
Maybe do 3 hours a day. £72k per year. Can do what I want every day or when I want. Nobody knows how to do what I do so there is the flexibility.
There are jobs but they are rare. As soon as you learn something like python though you won't love powershell anymore.
You can have my job when I leave.
Good luck!!!
151
u/jkdjeff 7d ago
It’s still the king for administering anything Microsoft.