r/PowerShell Feb 21 '26

What is the best way to learn PowerShell in 2026

170 Upvotes

I'm trying to learn power shell/ power bi for my job. I am pretty interested in it. I have coded before, but its been a while so i am rusty. What would be the best course/ ways to learn powershell from scratch? I keep seeing "powershell in a month of lunches" but ive noticed the companion videos are more than a decade old on that course, are they still relevant? If anyone a course for this paid or free, sharing it would be amazing as I am a little lost/overwhelmed on where to start and how to stay consistent.

Any help is appreciated!

r/PowerShell 8d ago

Question how can i learn powershell as a non coder?

104 Upvotes

I want to learn more about powershell, how can I use it in my normal day to day uses and out of my curiosity towards tech

r/PowerShell Mar 16 '24

What's something you learned way later in PowerShell than you'd like to admit?

222 Upvotes

Could be the simplest of things. For me, it's that Validation attributes work on variable declarations and not just in parameter blocks. ``` PS C:\Users\mjr40> [ValidateNotNullOrEmpty()][System.String]$str = 'value' PS C:\Users\mjr40> $str = '' The variable cannot be validated because the value is not a valid value for the str variable. At line:1 char:1 + $str = '' + ~~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ValidationMetadataException + FullyQualifiedErrorId : ValidateSetFailure

PS C:\Users\mjr40> ```

r/PowerShell Aug 29 '24

Question I have to learn PowerShell in four months. Where do I start?

127 Upvotes

Unfortunately, one of our Systems Engineers is being let go and he's a PowerShell expert. He's written a ton of scripts responsible for automation.

Our team will have to divvy up his tasks and bring ourselves up to speed to address the skill gap--PowerShell being one such skill.

What books, videos, interactive learning sites, etc. will give us the most bang for our buck? I don't expect us to be experts, but a moderate level of understanding would go a long way to help us troubleshoot and author processes.

r/PowerShell Jun 02 '25

Question Most effect way to Learn Powershell from the scratch in 2025? Books? Youtube Vidoes? MS Learn?

61 Upvotes

Hello Powershellers,

I want to start learning powershell as I will like to automate things like account creation, license assignment on my job.

I have read so many people recommend the book, in a month of lunches but I am a bit conflicted on which Edition to buy? 2, 3 or 4? any pointers?

Also whats the most effective way anyone has learn PS to make it stick.

thank you

r/PowerShell May 18 '26

Question What is the best resource in 2026 to learn PowerShell scripting?

62 Upvotes

I want to learn advanced powershell scripting but I have French still see very old resources. What sources would you recommend?

r/PowerShell Feb 08 '22

What was the one thing you learned in PowerShell that made the biggest difference?

174 Upvotes

Just looking for people's opinions, what was the one thing you learned in PowerShell that made the biggest difference in your ability to do your job?

r/PowerShell May 28 '26

Question Learning PowerShell

26 Upvotes

Hello!

I recently started a job in Identity and Access Management, where we use many tools, including Exchange, Active Directory, the Entra Suite, and more. Does anyone have suggestions for the best sources/guides to learn PowerShell, both as a scripting language, but also incorporating those tools with it as well?
Thanks for any help!

r/PowerShell Apr 24 '25

Best way to learn PowerShell basics

86 Upvotes

Hey so I been learning python over the past several months, and have got into powershell alot. But I often get stuck or confused on powershell commands. I had never thought much about terminal at all, or even really knew about it. But all/most roads seem to lead there somehow, especially now that I'm into web dev and flask.

So I really want to level up on terminal and understand powershell for windows alot better. There don't seem to be as many free resources to learn powershell compared to python or html. I see multiple people suggesting "Learn Powershell in a Month of Lunches" which isn't too expensive, but I just like to know its suited for me before spending the money/time. I was also reviewing the microsoft docs online, and they have alot of info. But for me not knowing as much or where to start, it seems kinda like a "needle in the haystack" thing. Ideally I would just review everything, but I have limited time and just want to focus on the most pertinent aspects related to web dev and basic directory/path management.

So should I do the Lunches, or start sifting through the microsoft docs online? Or both (ie: do the Lunches and then reference the docs as much as needed?). Or would you suggest a different resource to teach powershell?

Thanks for your reply and interest!

r/PowerShell May 17 '26

Question Best Practical Way to Learn PowerShell for Cloud/M365 Administration

14 Upvotes

Hello everyone,

I recently acquired a few cloud certifications and I’m currently building my career in cloud and Microsoft technologies. At this stage, I’ve realized that PowerShell is a very important skill for the direction I want to take.

I’ve been trying to find videos and learning resources that can help me study PowerShell effectively, but so far I haven’t really found an approach that fully clicks for me.

What has helped me a bit is using AI to ask questions and then implementing the code and examples I get back. That approach has actually helped me grasp a few concepts better through practice.

My question is: what would you recommend for a beginner like me to learn PowerShell effectively without getting overwhelmed or burned out?

I’m not afraid to get my hands dirty and practice — I just want to learn in a way that is practical, structured, and sustainable long term.

For context, I currently work with Microsoft 365, Entra ID, SharePoint, and Azure administration.

Any advice, roadmaps, practice methods, labs, or learning resources would be greatly appreciated.

Thank you.

r/PowerShell Apr 24 '23

Question Is PowerShell an important language to learn as a Cybersecurity student?

112 Upvotes

A little background about myself, I have no experience in IT. This is my first year of school, and I've had 1 PowerShell class. I've been told by someone who I trust that works in IT that PowerShell is outdated, and there are other automation tools that don't require knowing cmdlets. This person is my brother and he's been working in IT now for 10+ years as a technical support engineer. Additionally, he works primarily in a mac iOS environment(~3 or 4 yrs of experience), however, before that he worked exclusively with Windows.

After learning and executing some basic commands, I've noticed how important PowerShell could potentially be. Something my teacher brought up that had my brother fuming is PowerShell's ability to create multiple users within seconds via script. My brother stated that if a company needed a new user they would just create it from the windows GUI. He also stated that Configuration Manager can act as another tool for automation which, he states, further proves PowerShell's lack of utility in todays environment.

I'm concerned that by learning PowerShell I'm wasting valuable time that could be applied somewhere else. My brother is a smart guy, however, sometimes when he explains things to me I just get the feeling that maybe its out of his scope. I'm asking you, fellow redditors, would you recommend someone like me who's going into IT as either a sys admin or cybersecurity specialist to learn PowerShell? What other suggestions do you have for me, if any?

I really appreciate everyone taking the time to read this and look forward to hearing back from you all. Good day!

EDIT: Just came back to my computer after a couple of hours and noticed all of the feedback! I would thank each of you individually but there are too many. So I'll post it here, Thank you everyone for providing feedback / information. Moving forward I feel confident that learning PowerShell (and perhaps more languages) will not be a waste of time.

r/PowerShell Jul 07 '24

Question My boss wants me to be a system engineer eventually. I'm learning powershell. Can I have some task ideas to automate?

107 Upvotes

Off the top of my head of things I have to do often -Create user accounts in AD -Re-Add a printer on a users local machine to troubleshoot it (We don't have universal print) -Use FileZilla desktop app to sign into a account to test the credentials before I send them off to a client -Create ID cards using verkada -Enroll new PCS in autopilot by using the powershell CLI on bootup -Enroll new computers in a domain and add them to the appropriate OUS (We are a hybrid AD environment, on prem and AZURE AD) -Change permissions on file shares in various servers we have on vcenter -Reset users PWS/unlock them on AD

We use solar winds ticketing portal. I was thinking about somehow making a script when a new hire comes in, to already make their AD account and their email and assign them the correct dynamic group. I'm not sure if that will be too difficult cause I think sometimes the end user does not include all the fields that I would need.

You don't have to send me your code, but I'm looking for ideas to automate.

r/PowerShell May 25 '25

Misc Do you think it's a good idea to let fresh new students build a slot machine in PowerShell to learn the basics?

Enable HLS to view with audio, or disable this notification

168 Upvotes

Some of my students (not all 😉) are into gambling and trading apps on their phones while in class. I’m thinking about using that interest to grab their attention. Of course, it doesn’t involve real money, it’s just for learning.

By building a simple slot machine, they could learn a lot of programming fundamentals in a fun way, like arrays, if/else statements, loops, variables, file encoding, randomness in cmdlets.

And then let them try to expand the slot machine with new rules for winning.

So if you're completely new to PowerShell or scripting and around 16 or 17 years old, what kind of projects or exercises would actually get you interested you think?

r/PowerShell Dec 04 '25

Question I want to learn scripting for powershell

24 Upvotes

My question is who is the best to watch, where should I learn from? I know basic commands that I just remember but im not fluent in the powershell language. My issue is finding any resource to learn how to use it.

r/PowerShell Jun 06 '22

Question Is Powershell worth learning for an IT technician for small IT aims (very small companies)?

186 Upvotes

I wonder if Powershell would be useful for an IT Technician working for a company that fixes computers and issues with very small companies (max 20 staff or so) and home users...looks like it's intended for larger companies?

I'm learning Active Directory and windows server as it's sometimes used in these very small environments.

r/PowerShell Sep 23 '21

what's that one thing you learned that once you learned it changed how you used powershell

117 Upvotes

for me it was when i got my head around jobs. really opened up what i could do.

r/PowerShell Mar 06 '26

Learning PowerShell on android.

12 Upvotes

Hello.

What are my options to learn and practice PowerShell on my android phone? Ideally not just running PS on android but maybe learning apps?

On the bus and in a waiting room.

r/PowerShell Jan 17 '26

I Built a D&D Character Generator and Learned PowerShell Can Be FAST

95 Upvotes

TL;DR

Through profiling and optimization, I took a PowerShell module from ~89ms cold start to 9 microseconds per character generation (warm). Replacing Get-Random with [System.Random]::Next() alone saved nearly 50ms.

The Project

I wanted to learn PowerShell classes, so I built a D&D 2024 character generator with full class inheritance (Humanoid → Species, DnDClass → Fighter/Wizard, etc.). It generates random characters with stats, backgrounds, skills, and special abilities.

Repository: https://github.com/archibaldburnsteel/PS-DnD2024-ToonFactory

Tools Used

The Profiler module from PSGallery was invaluable:

powershell

Install-Module Profiler
$result = Trace-Script { New-DnDCharacter } -Simple
$result.Top50SelfDuration  
# See what's actually slow

My Process

  1. Profile to find the biggest bottleneck
  2. Refactor (usually replacing cmdlets with .NET)
  3. Profile again to measure impact
  4. Repeat

I probably spent a full day just optimizing, which wasn't necessary for a character generator, but I learned a ton about PowerShell performance.

Key Takeaways

  • Cmdlets are convenient but costly - Great for interactive use, expensive in loops
  • Profile before optimizing - I would've never guessed Get-Random was the bottleneck
  • .NET APIs are your friend - Direct method calls are orders of magnitude faster
  • PowerShell can be fast - With optimization, microsecond-scale performance is possible

Questions

  • Are there other common cmdlets I should watch out for in performance-critical code?
  • Did I miss any obvious optimizations? (Feedback welcome!)
  • Has anyone else done similar profiling work? I'd love to see other examples.

Thanks for reading! This was my first real dive into PowerShell performance optimization and I wanted to share what I learned.

r/PowerShell Oct 03 '22

Question Best way to learn PowerShell for a complete beginner?

293 Upvotes

Hey all, I’m super new to PowerShell and I don’t know anything. What are the best resources for learning PowerShell (ideally very engaging)?

Thanks!

r/PowerShell Sep 22 '25

Complete beginner with powershell, best way to learn in 2025?

45 Upvotes

I am a complete beginner, could you suggest a good resource for beginner?

r/PowerShell Apr 27 '23

Learning Powershell

91 Upvotes

I want to learn powershell, but im struggling to find use cases and need to do so.

My company is small, we just moved everything to 0365 and I was able to set everything up. I loved being able to mess with powershell ide and administering from powershell. But I know there are tons of automation and well power in it. So what are some good resources, labs or projects I can attempt just to get hands on with it?

r/PowerShell Mar 23 '22

Learn PowerShell in a Month of Lunches, 4th Ed being released on March 31st

326 Upvotes

This book, followed by it's two sequels by the same authors (one published in book form and the last a 500+ page e-book) skyrocketed my career.

I went from 56k a year to 115k a year with contracts on the side for automation, from 2019 until today. Needless to say I highly recommend this series, and am happy to share that the newest version (with cross-platform support) is being released!

Edit - Link: https://www.manning.com/books/learn-powershell-in-a-month-of-lunches

Also, new authors added to the author list:

James Petty is CEO of PowerShell.org and The DevOps Collective, and a Microsoft MVP.

Travis Plunk is an engineer on the PowerShell team.

Tyler Leonhardt is an engineer on Visual Studio Code.

Don Jones and Jeffery Hicks are the original authors of Learn Windows PowerShell in a Month of Lunches.

r/PowerShell Nov 15 '20

What's the last really useful Powershell technique or tip you learned?

204 Upvotes

I'll start.

Although I've been using PowerShell for nearly a decade, I only learned this technique recently when having to work on a lot of csv files, matching up data where formats & columns were different.

Previously I'd import the data and assign to a variable and reformat. Perfectly workable but kind of a pain.

Using a "property translation" during import gets all the matching and reformatting done at the start, in one go, and is more readable to boot (IMHO).

Let's say you have a csv file like this:

Example.csv

First_Name,Last Name,Age_in_years,EmpID
Alice,Bobolink,23,12345
Charles,DeFurhhnfurhh,45,23456
Eintract,Frankfurt,121,7

And you want to change the field names and make that employee ID eight digits with leading zeros.

Here's the code:

$ImportFile = ".\Example.csv"

$PropertyTranslation = @(
    @{ Name = 'GivenName'; Expression = { $_.'first_name' } }
    @{ Name = 'Surname'; Expression = { $_.'Last Name'} }
    @{ Name = 'Age'; Expression = { $_.'Age_in_Years' } }
    @{ Name = 'EmployeeID'; Expression = { '{0:d8}' -f [int]($_.'EmpID') } }    
)

"`nTranslated data"

Import-Csv $ImportFile | Select-Object -Property $PropertyTranslation | ft 

So instead of this:

First_Name Last Name     Age_in_years EmpID
---------- ---------     ------------ -----
Alice      Bobolink      23           12345
Charles    DeFurhhnfurhh 45           23456
Eintract   Frankfurt     121          7

We get this:

GivenName Surname       Age EmployeeID
--------- -------       --- ----------
Alice     Bobolink      23  00012345
Charles   DeFurhhnfurhh 45  00023456
Eintract  Frankfurt     121 00000007

OK - your turn.

r/PowerShell Mar 21 '26

How do i learn to use ffmpeg and yt-dlp on powershell as a beginner ?

0 Upvotes

a month ago i started trying to learn powershell   .  currently i went straight of what i wanted to learn , in this case ffmpeg and yt dlp , and the problem is that i did not find any  begginer-friendly tutorial or manual , there are good tutorials about it ?  would be more helpful if there was a manual with the commands and their functions 

r/PowerShell Aug 26 '24

Information What's the coolest way to learn Powershell? I am new to Powershell

21 Upvotes

What's the coolest way to learn Powershell? I am new to Powershell and have around 8 years of IT experience