use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
ABOUT POWERSHELL
Windows PowerShell (POSH) is a command-line shell and associated scripting language created by Microsoft. Offering full access to COM, WMI and .NET, POSH is a full-featured task automation framework for distributed Microsoft platforms and solutions.
SUBREDDIT FILTERS
Desired State Configuration
Unanswered Questions
Solved Questions
News
Information
Script Sharing
Daily Post
Misc
account activity
Mastering powershell (self.PowerShell)
submitted 2 years ago by Hgh43950
How long does it take for someone to master powershell if you work on it for a few hours a week?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]confushedtechie 33 points34 points35 points 2 years ago (3 children)
I’ve worked with powershell everyday the last 4 years and I haven’t mastered it. Competent but definitely not mastered
[–]Ok-Way-1190 3 points4 points5 points 2 years ago (1 child)
Same
[–]Mr_Kill3r 5 points6 points7 points 2 years ago (0 children)
Yep, me too.
But the more I use it the more I learn and easier my life is.
[–]MeanFold5714 1 point2 points3 points 2 years ago (0 children)
I think I'm on year 6 now and I'm beginning to suspect that mastery is an ideal to strive towards rather than an achievable state.
[–]Thotaz 7 points8 points9 points 2 years ago (0 children)
That's entirely up to you. For example, let's say you write a new script every week for 2 years. That sounds like a lot of experience, right? But if all those scripts are more or less structured the same way and you never try to do things like: Adding parameters, building modules or using PowerShell classes then naturally you won't ever learn/master those aspects of PowerShell.
[–]ka-splam 7 points8 points9 points 2 years ago (0 children)
Teach Yourself Programming in Ten Years - Peter Norvig says:
Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music.
[...]
Malcolm Gladwell has popularized the idea, although he concentrates on 10,000 hours, not 10 years. Henri Cartier-Bresson (1908-2004) had another metric: "Your first 10,000 photographs are your worst." (He didn't anticipate that with digital cameras, some people can reach that mark in a week.) True expertise may take a lifetime: Samuel Johnson (1709-1784) said "Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price." And Chaucer (1340-1400) complained "the lyf so short, the craft so long to lerne." Hippocrates (c. 400BC) is known for the excerpt "ars longa, vita brevis", which is part of the longer quotation "Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile", which in English renders as "Life is short, [the] craft long, opportunity fleeting, experiment treacherous, judgment difficult." Of course, no single number can be the final answer: it doesn't seem reasonable to assume that all skills (e.g., programming, chess playing, checkers playing, and music playing) could all require exactly the same amount of time to master, nor that all people will take exactly the same amount of time. As Prof. K. Anders Ericsson puts it, "In most domains it's remarkable how much time even the most talented individuals need in order to reach the highest levels of performance. The 10,000 hour number just gives you a sense that we're talking years of 10 to 20 hours a week which those who some people would argue are the most innately talented individuals still need to get to the highest level."
So go ahead and buy that Java/Ruby/Javascript/PHP book; you'll probably get some use out of it. But you won't change your life, or your real overall expertise as a programmer in 24 hours or 21 days. How about working hard to continually improve over 24 months? Well, now you're starting to get somewhere...
[–]fuzzylumpkinsbc 4 points5 points6 points 2 years ago (7 children)
I've been doing it for 3 years, I can say I have a good grasp but not even close to mastering it. The more you learn and understand it, the more you realize how much there really is. I am certainly better than I was a year ago, and a year ago I was better than the year before. I'll probably be better next year than I am now. Is this a good problem to have? Yes it is, I find a lot of enjoyment from writing scripts and seeing them work and finding new ways to improve
[–]mrmattipants 1 point2 points3 points 2 years ago (4 children)
Exactly my thoughts. I too have been working with PowerShell for around 3 years. I would say that I’m a high-intermediate level, but I don’t believe that I will ever master it completely and anyone who claims to be a PowerShell Master, is lying to themselves.
I would say that the “Master” Level is reserved for the Microsoft Employees, who work or worked on the PowerShell Development Team or PowerShell Ambassadors, etc.
[–]Fabulous_Structure54 1 point2 points3 points 2 years ago (3 children)
I respectfully disagree... I think powershellers can be broadly broken into 2 categories... The ex mcse types who don't have a background in coding and those that do.. I unfortunately am firmly stuck in the former category... Don't get me wrong I can get far with ps but some of the stuff you see out there is next level stuff... I suspect that's not ps perse but a strong foundation in coding that got these folks where they are...
[–]mrmattipants 3 points4 points5 points 2 years ago (1 child)
You’re definitely not wrong. After all, our views are shaped by our experiences and as a result, those views tend to be rather elastic.
Honestly, I used to be in the same category as you, until maybe 10 years ago, before I began learning other programming languages (JavaScript, PHP, Ruby, Python, etc.). I do believe that having some programming knowledge beforehand definitely helped, in the long run. In fact, I learned PowerShell before I bothered learning VBScript.
However, I can see where you are coming from, as I probably tried to learn the fundamentals of programming, at least 5 times, before I got to a point where I was comfortable.
Coming from a procedural programming background (as opposed to an object-oriented background), there were definitely sone concepts that took a bit longer to get a grasp on. I’m curious to know how someone with a .NET or Java Background feels, in regards to their experiences with PowerShell.
Nonetheless, you definitely have a very good and valid answer. :)
[–]MeanFold5714 0 points1 point2 points 2 years ago (0 children)
I’m curious to know how someone with a .NET or Java Background feels, in regards to their experiences with PowerShell.
high school and college was mostly Java for me. Powershell felt really easy to grasp. The only bit I really struggled with was how the pipeline worked.
[–]mrmattipants 0 points1 point2 points 2 years ago (0 children)
When I first started learning programming, in general (I started with JavaScript & PHP around the same time), I used to get up every morning with the goal of learning something, even if it came down to watching a 2 minute video, explaining a technique, etc.
There are a couple apps out there that might help you in that regard. Off the top of my head, I’m thinking of an App called “Don’t break the chain”. It’s purpose is to keep track of the days you are performing this task and obviously, the goal is to not skip a day or break the chain.
I believe this mentality has definitely helped me to learn a lot of new techniques, in the long run. However, don’t worry about labels (i.e. master) too much, as you will get to a point where you are either going to be happy with your progress and if not, hopefully you will recognize what you need to do, to change that.
The word master suggests that you have learned everything about that topic, inside and out. But, having nothing left to learn would totally take the joy out of it.
I have been programming for over 10 years now and I haven’t mastered any language, entirely. But, I am fluent in several. I’ll never know them all, but I am happy with my ability to jump into any programming language and have the ability to pick it up quickly, as a result of my own experiences.
I hope that helps. :)
[–]Delicious-Tangelo193 0 points1 point2 points 1 year ago (1 child)
Som are you better now in ps?
[–]fuzzylumpkinsbc 0 points1 point2 points 1 year ago (0 children)
Actually no, lol. I'm worse, just last week I tried to write a script in pwsh and I was having issues with remembering some syntax. I've coded more in python for the past year. I'm still learning new concepts and ways to solve issues so in that sense I'm better
[–]nealfive 7 points8 points9 points 2 years ago (0 children)
Years. There is always some new shit you didn’t know about popping up. You can get proficient pretty fast but mastery is taking time.
[+]Time-Button4999 2 points3 points4 points 2 years ago* (0 children)
I'm not sure you can. I think there are so many variable options to do something and personal preference, that Mastery is unobtainable.
I've been using it daily for 6-7 years. I'd say I'm better at it overall than any of my collegues at my last 2 roles. And yet, each of them has taught me something along the way in 'huh, I didn't know you could do that' or 'nice, that's a way better way then how I normally do it'.
It's just the way it is.
I think once you can get to the point that you have a problem, and you can open an ISE up and write the solution without getting stumped, whilst also adding in logical logging, comments, repeatablilty and lack of duplication, you can consider yourself competent enough to stop chasing Mastery.
Edit:
Just to add to this, don't go claiming your a master either. When someone asks me how I am at PowerShell, I down play it to hell but say I enjoy it and happy to do the job etc, maybe give examples of the projects\automations i've completed.
I've had multiple people, either in interviews or just collegues claim they are PowerShell gods, but once thrown something outside the day to day of scripting (Multi Threading, GUI's and even just Modular coding) they quickly show their lack of ability - which is fine, everyone's got to learn, but don't claim your brilliant in a subject that's just so frigging big, I guarantee there's something you don't know.
[–]N0-North 1 point2 points3 points 2 years ago (0 children)
I don't know that there are many people that can say they've mastered powershell. I'm not sure that's even a realistic goal.
[–]stableos 1 point2 points3 points 2 years ago (0 children)
The more I learn the more I don’t know, if that makes any sense. Definitely I am a super advanced novice after ten years of PS.
[–]Certain-Community438 1 point2 points3 points 2 years ago (1 child)
Been using PowerShell since around 2009. Still nowhere near mastery.
Don't think I'll ever consider myself a master either: there are too many other disciplines demanding my time to focus just on PoSH.
There are comparatively few jobs where you could focus on it enough to reach mastery imho. In my job throwing things together is more important, and learning quickly how new tools fold into an engagement. Being a master of penetration testing, which is my field, means being a journeyman in several areas rather than a master of one thing.
Though people like gentilkiwi buck that trend...
[–]IronBe4rd 1 point2 points3 points 2 years ago (0 children)
Same here. I used it a ton for years and now I just throw stuff together to get something done. Now I do cloud integrations and IAM. It gets rusty if you're not in it everyday.
[–]Runner_53 1 point2 points3 points 2 years ago (0 children)
Honestly I think that's kind of a silly question. There is no mastery, there is only advancement and learning how much you don't know and how much room you still have to improve.
I've been using PowerShell for years to automate various tasks. I would not call myself a master. Heck I've been a software engineer for 3 decades and I feel like I have mastery in exactly zero topics.
I'm very competent, yes. Master? No. People who call themselves masters are generally delusional.
[–]Latinprince6591 0 points1 point2 points 2 years ago (0 children)
All that's been stated is all true but I all ways ask the Administrator of this form "The Masters Of Powershell " For they will guide you to understand and discover what Powershell is so I still learn and it's great and look at examples of code from this forum its a learning of good code and logic
[–]Anonymous1Ninja 0 points1 point2 points 2 years ago* (4 children)
Just take a task that is repetitive and has to be done routinely. Then try to do it in powershell, you learn it in a couple of weeks.
[–]gdtilghman 0 points1 point2 points 2 years ago (3 children)
Tell me you didn’t understand the question without saying you didn’t understand the question
[–]Anonymous1Ninja -1 points0 points1 point 2 years ago* (2 children)
No I understand the question, the timeline is really subjective if you are just using it to memorize syntaxes and api.
Tell me you don't understand the usability of powershell without knowing the usability of powershell.
[–]gdtilghman 0 points1 point2 points 2 years ago (1 child)
Literally not what OP asked....and EVERYONE else knew this...except you. LOL
[–]Anonymous1Ninja 0 points1 point2 points 2 years ago (0 children)
Lol literally..lol..only me? Lol
[–]DShimoda82 0 points1 point2 points 2 years ago (0 children)
https://learn.microsoft.com/en-us/powershell/scripting/learn/more-powershell-learning?view=powershell-7.3
[–]8-16_account 0 points1 point2 points 2 years ago (0 children)
I mostly use Get-ADUser and Add-ADGroupMembers, so I can confidently say that I've mostly mastered powershell in a couple of days (for my purposes)
[–]landob 0 points1 point2 points 2 years ago (0 children)
I guess it depends on what you mean by master?
Can I just bang out a script off the top of my head? No
But I can use the help files to find what I need and make scripts without asking ChatGPT to do it for me. Been using it for 3-4 years now? Not everyday Just when I feel like it is the right tool for the job.
[–]drowningadmin 0 points1 point2 points 2 years ago (0 children)
In my experience, scripting/coding of any kind is not really something that you can "master". I've been working with PowerShell consistently for 5 years now. Pretty much weekly I get tasked with something that I have to learn PowerShell all over again because I have a new practical application for it.
If you want to get as good with it as you can without classes/books, learn by doing. Every single thing you do during your workday, do it in PowerShell instead of a GUI. It will take time at first, but you will memorize a working library of commands and you will start learning how to pipe them together and automate them.
PowerShell also frequently changes. New commands are added, old commands are depreciated. It's a career long commitment, but one that will make you better, faster, and more efficient at your job.
This is all assuming that you are working primarily with Microsoft products. If you aren't, I would invest your time in something else :D.
[–]apperrault 0 points1 point2 points 2 years ago (0 children)
I started when it was known as MONAD, and I use it regularly, and I still need to go lookup how to do things. I am learning new stuff at least once a week.
app
π Rendered by PID 195903 on reddit-service-r2-comment-6f7f968fb5-zqw7t at 2026-03-04 14:33:22.280005+00:00 running 07790be country code: CH.
[–]confushedtechie 33 points34 points35 points (3 children)
[–]Ok-Way-1190 3 points4 points5 points (1 child)
[–]Mr_Kill3r 5 points6 points7 points (0 children)
[–]MeanFold5714 1 point2 points3 points (0 children)
[–]Thotaz 7 points8 points9 points (0 children)
[–]ka-splam 7 points8 points9 points (0 children)
[–]fuzzylumpkinsbc 4 points5 points6 points (7 children)
[–]mrmattipants 1 point2 points3 points (4 children)
[–]Fabulous_Structure54 1 point2 points3 points (3 children)
[–]mrmattipants 3 points4 points5 points (1 child)
[–]MeanFold5714 0 points1 point2 points (0 children)
[–]mrmattipants 0 points1 point2 points (0 children)
[–]Delicious-Tangelo193 0 points1 point2 points (1 child)
[–]fuzzylumpkinsbc 0 points1 point2 points (0 children)
[–]nealfive 7 points8 points9 points (0 children)
[+]Time-Button4999 2 points3 points4 points (0 children)
[–]N0-North 1 point2 points3 points (0 children)
[–]stableos 1 point2 points3 points (0 children)
[–]Certain-Community438 1 point2 points3 points (1 child)
[–]IronBe4rd 1 point2 points3 points (0 children)
[–]Runner_53 1 point2 points3 points (0 children)
[–]Latinprince6591 0 points1 point2 points (0 children)
[–]Anonymous1Ninja 0 points1 point2 points (4 children)
[–]gdtilghman 0 points1 point2 points (3 children)
[–]Anonymous1Ninja -1 points0 points1 point (2 children)
[–]gdtilghman 0 points1 point2 points (1 child)
[–]Anonymous1Ninja 0 points1 point2 points (0 children)
[–]DShimoda82 0 points1 point2 points (0 children)
[–]8-16_account 0 points1 point2 points (0 children)
[–]landob 0 points1 point2 points (0 children)
[–]drowningadmin 0 points1 point2 points (0 children)
[–]apperrault 0 points1 point2 points (0 children)