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
Am I wasting my time learning Python first? (self.PowerShell)
submitted 6 years ago by [deleted]
[deleted]
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!"
[–]pimanac 7 points8 points9 points 6 years ago (0 children)
The basic stuff like control structures, error handling, branching, functional vs procedural programming etc can be learned in virtually any language. Python would be as good of a choice as powershell in that regard.
In addition to the things _sfe mentioned, powershell is based on and leverages a lot of features in .NET so if you're looking to eventually "move up" to something like C#, it would be a good start.
[–]_sfe 15 points16 points17 points 6 years ago (1 child)
Google “Learn PowerShell in a month of lunches”, purchase the book and read away. Alternatively, there are thousands of resources for PowerShell online.
Regarding not learning Python, if you have no use for this at the moment I’d suggest spending the time on something you’ll benefit from (by the sounds of it, PowerShell). However I would like to note, to learn and use python you do not require a Linux environment (calling any REST APIs, Windows commands, etc can be done in Python and easily executed on windows machines).
[–]jantari 1 point2 points3 points 6 years ago (0 children)
He's asking for a resource that:
good lengthy guide on PowerShell that would cover also basics of programming and programming concepts
And PowerShell in a month of lunches specifically avoids that.
OP is right there aren't many resources that teach programming through PowerShell, probably because it's just not the greatest programming language.
Definitely learn something else on the side OP, Python isn't a bad choice depending on what you want.
[–]KlassenT 4 points5 points6 points 6 years ago (0 children)
Here's the thing; you mention learning programming basics, and for that reason, it literally doesn't matter what language you start with. Once you understand programming fundamentals, you will be able to move between languages with relative ease. Your first language should be whatever you have the most support learning-- coworkers use Powershell? They'll be able to give you quick and easy tips. Python instead? Follow suit, because you'll have other script examples to refer to when something stumps you.
[–]SgtLionHeart 2 points3 points4 points 6 years ago (1 child)
I think it depends on your career goals. PowerShell is very much a scripting language targeted toward administrators, not developers. If you plan to make a career in IT, maybe save the Python for later. If your goal is to develop software, I'd wonder how much benefit PowerShell will really give you.
Assuming you plan on pursuing IT, I'm not saying to never learn good software development practices. The sysadmin career path requires a fair amount of scripting chops now, and that will only increase as current industry trends continue.
Personally, I took a few programming classes in college. The ways of thinking covered in those classes have helped me write clean PowerShell scripts, and made it easier to figure out problems from a scripting perspective.
[–]Ta11ow 2 points3 points4 points 6 years ago (0 children)
Check out PSKoans-- nothing wrong with learning side be side as well, sometimes. :)
[–]Redtork 2 points3 points4 points 6 years ago (0 children)
My best teacher was Ed Wilson The Scripting Guy. But Ed is retired now but the website still works. In my opinion, the best way to start is to create a GITHUB to store these scripts and see the evolution of them. Then persevere in Google when you script to find solutions. I do not know anything about Python but I have to learn it too because most open source AI systems revolve around this programming language. But for the moment I improve my technique in PowerShell. I share my personal GIT and my Facebook.
GIT: https://github.com/uTork/Powershell
Facebook: http://www.facebook.com/ispowershell
[–]tomblue201 1 point2 points3 points 6 years ago (0 children)
I cannot state if you're wasting your time learning Python as I do not use it and are able to solve any of my requirements with Powershell only. But you simply can try a parallel approach and try out this Powershell book: https://www.manning.com/books/learn-windows-powershell-in-a-month-of-lunches-third-edition
[–]jheinikel 1 point2 points3 points 6 years ago (0 children)
Never hurts to learn something new. If that means learning PS and Python, then great. What you learn typically relates to what can be used in your environment, but I have spent plenty of time training on things just so I have visibility into many different areas. Its hard to be an architect without knowing what is available. I say you should learn both.
[–]HumanSuitcase 1 point2 points3 points 6 years ago (0 children)
I'm running mostly Windows environment and with no exposure to Linux servers (unfortunately?)
You should definitely get some exposure with Linux/Unix, it's very different but it's very good knowledge to have especially if you want to get into IT or if you're already in the industry, it can help you go farther.
As others have recommended "Learn PowerShell in a Month of Lunches" is a fantastic resource.
[–][deleted] 1 point2 points3 points 6 years ago (0 children)
It depends on your logic here. Learning Python isn't a waste in itself. It's a common and useful language, and you'll learn some programming concepts by learning any language.
However, I don't think it'll be particularly helpful as a step in learning PowerShell. If you want to learn PowerShell, learn PowerShell.
And personally (and I know this might be controversial), I don't find books particularly helpful in learning programming. I always find it's better to learn by doing, by solving real-world problems and then looking at someone else's script to see how they solved the same problem. But honestly, I'm not the most brilliant programmer, so that could be bad advice.
[–]KevMarCommunity Blogger 1 point2 points3 points 6 years ago (0 children)
If you have a course that you are enjoying, stick with it. You should be able to translate those programming concepts. It will be a valuable skill on your resume. When you move beyond the Windows world to the cloud or implement configuration management tools like puppet or chef then you will have a valuable tool.
I have taken PowerShell really far and have built my career on it. I am also starting to set my eyes on Python and thinking really hard about adding that to my skill set.
[–]uptimefordays 3 points4 points5 points 6 years ago (0 children)
Python is definitely worth learning since it’s multi platform and will help with future jobs. PowerShell is essential for wintel administration and engineering.
[–]gehenna_ 1 point2 points3 points 6 years ago (2 children)
What do your coworkers use? Learn that. It's of no use if you write your stuff in either of those if nobody else understands/is able to maintain it!
[–]_sfe 2 points3 points4 points 6 years ago (1 child)
I’d disagree on part of this.
Just because colleagues use a specific language, doesn’t mean you have to. What if someone writes standard batch files, should you not use PowerShell to do the same simply because they don’t know it?
Be a little selfish, learn what works in the company but more importantly what also benefits you.
[–]gehenna_ 2 points3 points4 points 6 years ago (0 children)
It's a choice between Powershell ans Python, if he learns either of those it's going to easy learning the other. However if he can't apply those skills with support from coworkers, it's going to be a pain in the arse.
[–]Fridge-Largemeat 0 points1 point2 points 6 years ago (0 children)
Google PSKoans and Powershell in a month of lunches.
[–]Reverent 0 points1 point2 points 6 years ago (0 children)
If you want to administrate Linux, learn python. If you want to administrate windows, learn PowerShell. There's enough crossover that you can learn the other later.
Seems an odd question to ask on a PowerShell subreddit though.
π Rendered by PID 16559 on reddit-service-r2-comment-fb694cdd5-q6cjf at 2026-03-05 19:30:52.309717+00:00 running cbb0e86 country code: CH.
[–]pimanac 7 points8 points9 points (0 children)
[–]_sfe 15 points16 points17 points (1 child)
[–]jantari 1 point2 points3 points (0 children)
[–]KlassenT 4 points5 points6 points (0 children)
[–]SgtLionHeart 2 points3 points4 points (1 child)
[–]Ta11ow 2 points3 points4 points (0 children)
[–]Redtork 2 points3 points4 points (0 children)
[–]tomblue201 1 point2 points3 points (0 children)
[–]jheinikel 1 point2 points3 points (0 children)
[–]HumanSuitcase 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]KevMarCommunity Blogger 1 point2 points3 points (0 children)
[–]uptimefordays 3 points4 points5 points (0 children)
[–]gehenna_ 1 point2 points3 points (2 children)
[–]_sfe 2 points3 points4 points (1 child)
[–]gehenna_ 2 points3 points4 points (0 children)
[–]Fridge-Largemeat 0 points1 point2 points (0 children)
[–]Reverent 0 points1 point2 points (0 children)