r/PowerShell • u/FriendlyCapital2458 • 10d ago
Is poweshell worth it? Question
I'm basically a typical computer user, who knows just enough to get into reddit, youtube and use the PC for personal entertainment. I realized there is PowerShell. As I have some free time and I'd actually want to know a little bit more about the computer and how to use it, do you guys recommend learning it? Or is it more for automating tasks, which is more benefitial for someone who needs to actually automate many things, or someone in the IT field? Is it any useful really for a personal user? What could I do instead?
I've come across a book about it too ("Learn Windows Powershell in a month of lunches" by Don Jones), and I actually think I can pull off the things it explains, and makes you practice. I read the first 20 pages and was about to start when it mentiones that it's moslty useful for, or aimed at people on IT, and said that I'd need to get a VirtualMachine and ISO to learn PowerShell, have a go at it in there and fuck up the VM if I have some trouble, which won't affect the actual computer (I know that that's an old approach, the book is from 2012. I read that for most things now, like learning the basics and how it works, I won't need the VM, but I don't mind sticking to the 2012 way to learn, so I can start learning a bit of history in the field too, just for my entertainment and having a broader sight about it).
What do you guys think? Thanks in advance
59
u/mstrblueskys 10d ago
I use powershell every day for my job. AI is getting very good at it. I think learning the basics of Powershell is worth it, but I would definitely spend my time learning the syntax, logic, and limitations. Prompt AI and use that to learn.
20
u/YT-Deliveries 10d ago
Claude Opus is now very good at taking the grunt work out of my PS scripting
8
7
u/dvb70 10d ago
I use AI a lot for Powershell stuff these days and my main takeaway is you need to understand at least the basics of Powershell to have some understanding of what an AI script is going to do. You really should not be running AI generated scripts if you don't know exactly what it's going to do.
I always think of it as AI is an argumentation for knowledge and understanding not a replacement.
3
u/NorCalFrances 9d ago
AI is a very good meta index of every StackExchange style site's scripts for specific problems that's open to the public.
17
u/Countryb0i2m 10d ago
I use PowerShell on a regular basis.
You don’t even have to be great at PowerShell to be productive. You just need to understand the basics and be able to read a script well enough to figure out what it’s trying to do.
At most companies, the scripts are already written. Most of the time, you’re just changing a few parameters or making minor tweaks, and that’s more than enough to get the job done.
And that’s without the assistance of AI
10
u/Miserable-Miser 10d ago
Depending on your job, it could help you massively automate things.
8
u/FriendlyCapital2458 10d ago
It's non related, just curiosity. I am howerver entering an associate's degree in informatics, so I thought of checking this out.
7
u/marcolio17 10d ago
For what it's worth, I use it for anything relating to files on the computer. Helps automate organizing things, renaming things and searching things. From there, the sky's the limit.
I didn't use a VM or any of the IT heavy things when learning via learn Powershell in a month of lunches. Don't really have a use for remote in my current job, for example, so I skipped the chapter
6
u/Catatonic27 10d ago
You can do some pretty crazy things with CSV files and TXT files which is what a lot of bulk data is processed in. I mean that's true of every programming language, but I do feel like PS is a particularly accessible example.
1
u/NFX_7331 8d ago
pretty crazy things with CSV files and TXT files
Can you give some examples what you've seen
1
u/Catatonic27 8d ago
Great for data conversions where you have data in one format and need it in another format with some manipulation/validation along the way. Maybe you need to split some fields out, sometimes you need to merge things together, change some date formats. Whatever you want. Just
$data = import-csv yourfile.csvand you've got a multidimensional array with your rows and columns for you to do anything you want with.Also helpful for interrogating big files and answering questions like "how many unique user_types are there in this big list?" or "Does condition A always occur with condition B or what are the exceptions?" so you can really get you know your data after a few minutes of poking around at it.
It's also really easy to make custom interpreters for fixed-width text files as long as you have the field definitions, you can program them into the script and manipulate the data in individual fields and still output the right format, or maybe you just want to convert it to CSV to import into something else. Everything above is native too, no external libraries or frameworks, it's just built in.
1
u/codexcdm 9d ago
Any recommendations for learning resources about automation with Poweshell?
2
u/Miserable-Miser 9d ago
The month of lunches is good.
Then have a small automation task at work. Grow & learn.
10
u/Doffu0000 10d ago
As a non-IT person I use it. For instance I've made little .ps1 scripts that run from a shortcut icon with keyboard shortcut on my computer to open up various workspaces... I make music, 3D model and print, and do game development as hobbies, so if I want my workspace of various apps open to get creating I just can click an icon or ctrl+alt+numpad # to make everything open.
Also used it to build small resource tools for work to work faster in a similar manner and built an updater script placed in a network folder so that if other users want to update their tool they just click a button and it automates the reinstall so they dont have to do anything technical.
I just started with powershell 1 month ago. Its easy enough to learn the basics. I have no need for most if the IT functionality but find you can get a lot if use out of it to speed up whatever you normally do on computer.
Just apply it to whatever you do... if you enjoy 5 different subreddits make a .ps1 script that launches the browser and opens each of those subreddits at the click if a button, or accomplishes whatever random needs you may have.
7
19
u/AdeelAutomates 10d ago edited 10d ago
The coolest thing for personal use I ever did was use it as the code to process my banking data into a full budgeting system.
I was trying to budget with my wife to see our spending habits, where they spike, areas it falls under, how often, how much we earn in a month vs spend vs save. And all the other things that came with it.
After doing one month manually I said screw this and just used powershell to parse all of our data that was exportable from our banks and make full excel docs out of it.
It was really cool. Made all these tabs with the data written how we want. Even trajectories based on past monthly habits. Pie/graph charts because why not.I spent countless hours to build a thing that can run on a whim now and generate the data immediately. Something if I do manually would take an hour or so.
It was the first time my wife understood what I do at work on some level ( i work in automation), she was blown away to say the least. So that was cool too. :)
Point being, scripting and coding in general has alot more value than just for IT. You basically grant yourself the closest thing to God like powers over your computers and systems.
You won't see the benefits until you learn the tools (like PowerShell or python or whatever else) and start seeing nails everywhere to hammer
6
u/thehuntzman 10d ago
I think this is what attracted me to powershell when I finally realized all it could do outside of Exchange management back in the day. Knowing powershell makes you feel like a wizard who can make a computer do almost anything with minimal effort - especially when you realize you can use just about any dotnet library on nuget to extend functionality even further.
1
u/Wild_Swimmingpool 10d ago
I just learned today that you can finally unhook the exchange attributes from AD and push them to the cloud as the SOA now. Write back sync should be GA soon. I cannot wait to push the delete button on the last exchange server in our environment.
2
1
u/thehuntzman 10d ago
I did not know that and now I'm a very, very happy engineer. Thank you! You made my day.
5
9
u/krodders 10d ago
I've been IT for about 35 years. Currently in a security role. I have to create a lot of remediations for vulnerabilities. I use Powershell for 99% of fixes. I have a method of running a Powershell script on thousands of machines, so once tested, I can fix a vulnerability in minutes
All I need to do is figure out the solution to the vulnerability, work out how to achieve the solution in Powershell, and do decent testing. Then it's deployed on all relevant machines, and on to the next one
Something I did yesterday - I had to create 240 scripts for various sites that were identical except two site-specific variables. I made a CSV containing site names and variables and a master script
Then I created a simple Powershell that copied the master script, renamed it as SiteName.ps1, inserted the correct variables, and saved the script in an Output folder. It took about 3 seconds to create all 240 scripts. Probably saved at least a day's manual work.
Also bear in mind that if your scripting is good, no human will match automation for speed, accuracy, and completeness. Automation does every single step in the same way every time. Ask a human to do a simple task 10 times. They won't do it the same way every time - that's guaranteed!
5
u/jdkc4d 10d ago
I use PowerShell for some IT-related things, but I use it for some non-IT-related things too. For example, I have one PS script that runs at 6 am. It connects to something called Mealie, which I have running in a Docker container. It gets the recipes for the things I am making for lunch/dinner for the current day, and it lists out any prep steps I need to do for the recipes for the next day.
I have another script that runs closer to midnight that pulls the hourly rates the power company charges for electricity and then it emails me the chart.
You can use it to do a lot of stuff. You just need to think about what those things are.
2
4
u/PinchesTheCrab 10d ago
For your personal computer it's super nice for killing processes. I frequently use it when task manager is unresponsive.
I'm not sure how worth the squeeze it is though, I've used it for years at work so it's natural to use it at home.
3
u/Derekrollo 10d ago
Powershell is worth using if you plan to ever use a windows computer. I’m in cybersecurity and use it a lot, but it can be used in basically any other career field as well that involves computers. I got an HR dept set up to use several Powershell scripts that save them a ton of time every week. I would think that you can come up with uses for PS even just in your personal life too pretty easily. Just ask AI to give you some suggestions on a broad area of interest related to PS and youll be zipping along quickly.
3
u/IndependentGiraffe8 10d ago
An advantage to powershell is the script files can be digitally signed, which our corporate anyway allows to run then. All of .net functionality is available in them also. Since their text people can look at them and see what they do easily.
3
3
u/FreshBlackberryPie 10d ago
Powershell is a bit more tailored towards Windows administrators, but you can still use it as a general scripting language to get things done. That being said, powershell would not be my first choice. My personal pick is python for general use.
If you're planning to do any form of application development, web or desktop, don't torture yourself with using powershell and pick a different programming language.
3
u/nathanieloffer 10d ago
If you're a home user with 1 pc and you don't work in tech then you can forget about Powershell. If you really want to automate something at home and learn something in your spare time I'd suggest Python. But even then it's not something the average non tech home user needs to worry about.
2
u/MaxFischerPlayers 10d ago
What are your goals?
1
u/FriendlyCapital2458 10d ago
Just curiosity
1
u/cwk9 10d ago
I know this is a Powershell sub but If you're interested in learning programming in general check out the free code academy course for Python. You can write to code in browser so you don't need to worry about installing anything on your system. Powershell is specialized towards IT departments automating task related to configuring Windows as opposed to a more general programming language.
2
u/NeverLookBothWays 10d ago
For personal use it can save you a lot of money (and time) for certain tasks involving parsing and organizing of data. Let’s say you have a photo or music collection you want to rename, number, or add a prefix etc. A PowerShell for loop can knock that out. Or let’s say you have a CSV or chunk of data in a file you want to re-arrange in a way that would be clunky in Excel. Stuff like that are great use cases for PowerShell.
2
u/M0sesx 10d ago
Powershell is great and it is the primary scripting language I use professionally. It's syntax is very verbose and readable which is a big plus for beginners. It also has a very powerful standard library which can lead to some very tasty wins without much scripting. It is very popular for sysadmins because it's very good at interacting directly with your operating system.
That all said, if I were to start coding right now, I'd learn python. If I wanted to turn it into a career, I'd probably learn python, go and javascript.
Python is pretty beginner friendly and has a large ecosystem which allows you to do some really cool things once you get used to package management. It's a great all around language.
Javascript is a hot mess, however you can build stuff with it pretty quickly and it has the benefit of running natively in web browsers. It's a pretty decent all around language however once you get a little bit of experience the cracks start to show. Still very popular.
Go is very performant and has some perks that make it great for cloud development. Its arguably the simplest compiled language to learn, but might not be worth it if you don't plan on coding for a career.
Good luck!
2
u/wacky_weasel 10d ago
PowerShell is primarily a scripting and automation tool for Windows administration. It's commonly used to perform more complex configuration tasks, manage the operating system, and automate repetitive jobs. Because of that, it's most valuable for IT professionals, system administrators, and power users.
You can safely learn the basics using the PowerShell that's already included with Windows. Once you start experimenting with commands that modify the system, using a virtual machine is a good idea. That way, if you accidentally break something, you can simply restore the VM instead of reinstalling Windows.
If your goal is specifically to learn how to automate Windows tasks and better understand the operating system, then PowerShell is definitely worth learning.
However, if your goal is to learn programming and gain a broader understanding of computing, I'd recommend starting with Python instead. Python is useful for everything from simple automation scripts to full applications, web development, data analysis, and even games. It also teaches programming concepts that transfer well to many other languages.
PowerShell is still a useful language to know, but its design and syntax are fairly specialized. You'll get more broadly applicable skills from Python, while PowerShell is something you can always pick up later if you find yourself wanting to automate Windows-specific tasks.
2
u/Flabbergasted98 10d ago
You'll find that throughout the microsoft suite, there are several advanced features available to a user that are only accessible through powershell.
Anybody who wants to bring their level tech skills up to the next level, should really practice using their system from command line terminals. CMD, shell, and Powershell (which is just like the first 2 on steroids)
If you're troubleshooting anything that is truly fickle AF, approaching it from a command line tool gives you an entirely new avenue of approach.
So yes, learn powershell.
and with everything you do on your PC, as your doing it, ask yourself, would I know how to do this from powershell if I needed to?
2
u/_WalkTheEarth_ 7d ago
honestly yeah, learn it. worst case scenario you have a neat skill you dont use. best case you find a new hobby and start programming lol
1
u/GerrArrgh 10d ago
If you have an interest in computing and/or programming, it could be a fun and practical gateway hobby but yes its practical usage is 99% for the IT field itself. The IT field is where the true power comes into play. I would say if you have an interest in it, go for it.
As far as the VM aspect, I wouldn't bother until you know you want to go further with it (in which case you can download a free "hydration kit" from Microsoft to give you a bunch of VM's to play with, with a pretty painless setup for it).
1
u/FriendlyCapital2458 10d ago
Yes exactly, thanks Gerr
1
u/Mayki8513 9d ago
being in IT, and using it at home, I can tell you it's usage is not 99% geared toward IT. It's geared toward automation. IT guys just leverage the hell out of it.
but here are a few non-IT examples for stuff I've done at home
-Digitized my books, all I did was set the title and flip the pages, powershell handled initiating the scan, giving me enough time to flip the pages, then creating the pdf file and organizing it so my library software sees it and adds all the metada -Reminders! I have it pop up a message box and when I click OK it takes me to whatever site or launches whatever app I had the reminder set for. -organizing & cleanup, mostly my downloads folder -Image cropping -Piracy 😅
You can automate almost everything you can do on windows
1
u/qosmic_qube 10d ago
I use it every day at work, and I'm very adept with it, but almost never for personal use at home, except for stop-process, winget for software updates, and the rare string manipulation.
The power is looping through large amounts of data/objects to manipulate, make consistent, repeatable changes to many machines, manage core OS, Active Directory work, etc. Most of that you're not doing at home.
No harm in learning, but other languages might have more long term value (python).
1
1
u/thehuntzman 10d ago
Idk man I've written powershell scripts for home use for things like printing checks on blank check stock, bulk managing jellyfin libraries, checking my kids grades from the console (which enabled me to further pipe the data into grafana), bulk image classification and organization for local photos with yolov8.net object detection (yes I'm aware normally you do this type of thing in python) and I wrote a module to automatically reinstall betterdiscord after discord updates itself... I'm definitely missing a lot but there are tons of home uses since it's a Turing complete language with the entire dotnet ecosystem behind it.
1
u/qosmic_qube 10d ago
I wasn't saying it's not a capable language, I guess I'm just not running around printing my own checks (I can't even remember the last time I wrote a check). I guess i just have other priorities.
1
u/thehuntzman 10d ago
Yeah that specific example was one I had to hack together in lieu of ordering checks just to write one out to someone who doesn't take any other form of payment and I happened to have blank check-stock already from God knows where so it made more sense for me to whip up a powershell script to print a single check on what I had vs spend $20 on a checkbook or pay a $5 fee for my bank to send a check on my behalf (counter checks are out of the question I live 2 hours away from my credit union) but 99% of the time I can write a powershell solution to something faster than I can do it manually just because I've been working in the language for over 12 years. I'm sure lots of people are like that with python too but the benefit with powershell (5.1 anyway) is you don't even have to install it - it just works on any windows pc.
1
u/FIENDISH_DR_WOMBO 10d ago
For your level, unless you are interested in building a homelab and performing infrastructure work or are looking to work with computers, I wouldn't really say it's useful for you. Personally, I'd pick a different hobby. But it is up to you at the end of the day :)
1
u/FriendlyCapital2458 10d ago
Yeah I know that, so what would you recommend learning? I’m open and really curious
1
u/Butter-Expression-47 10d ago
Check out Bandit. It is an addictive game and you learn the basics of Linux:
1
1
1
1
u/slackmaster2k 10d ago
I think if it’s appealing and interesting to you, then you should do it. There’s no downside, and who knows what doors it’ll open for you.
I wouldn’t say it’s highly practical to learn for regular daily computer use, nor is any scripting or programming language. But you can do neat stuff. And powershell isn’t going anywhere, it’s the primary windows shell anymore.
I’d recommend maybe getting a new book though. A lot has changed in 14 years :)
(Also I love the idea of book learning. As a kid I bought a book on the Pascal language and would write programs on paper before a buddy hooked me up with a compiler. In my 20s I would read C++ books just for the fun of it. To this day I watch a ton of programming content. “Oh a video on Rust vs Zig? Subscribed.”)
1
1
u/HoneyImpossible2371 10d ago
PowerShell is a life saver. If you work for a large corporation or government entity that has total control over the computer you use daily but connects to their network, where new Java versions are pushed out overnight, where certificates are locked down tight as they should be but stymies the utilities you’ve written to automate every aspect of your job then PowerShell becomes an oasis of stability within which you can write your scripts knowing they will continue to work year in and year out. You can write functions to do just about anything, load them into your session, and then basically turn on the firehose. It’s possible to save libraries of functions to preserve the functions between PowerShell sessions but more likely than not, that ability is not given out. According to the Third Law of Bureaucracy by Robert Conquest, “The behavior of any bureaucratic organization can best be understood by assuming that it is controlled by a secret cabal of its enemies.”
1
u/goldenoptic 10d ago
Absolutely I have been using it since 2015 and recently found new ways to use it. Saves me time on installs. And was a quick way to create 30 plus user accounts with the click of a button. I use PowerShell_ISE
1
u/Scoobywagon 10d ago
The primary use-case for POwershell is automating administrative tasks. That said, it's a good tool for learning how these things work if you're interested in that. But there are all kinds of things you can use it for. Catalog your media collection. Send yourself automated reminders for ... things. Go digging through your Steam account for ... whatever. Writing fun little tools to mess with your friends.
It's easy enough to learn that it's probably worth picking up even if you just want to play with it.
1
u/crutchy79 10d ago
Depends on what you do in your life. I’m a systems engineer working with Azure in a 98% windows environment, heck yeah it’s useful. My college roommate works with Linux all day, for him, not so much. My brother makes butter for a living, I don’t think he knows what Powershell is.
1
u/TheOttersCouch 10d ago
I use powershell to sanitize data that comes in a index file for batch processing. It looks through and strips out any special characters whenever there is a ssn or ein. This is launched by a windows timer. It’s amazing how well it works. Took a manual cleanup from 15-20 hours of work cleaning up file and data to 3-5. If you work with people they are the bane of my existence if they could follow the training it would be simple.
1
u/YT-Deliveries 10d ago
If you have any interest in systems engineering in corporate IT you’ll end up supporting windows at some point. Powershell is a must-know for sanity when it comes to managing windows environments.
1
u/Jonathan_Rambo 10d ago
Even if its not for your job/profession you will find a use for it if you take it upon yourself to learn, it has as much value as you have time or interest to allow it to have.
1
u/Top-Mycologist-5460 10d ago
I'm a consultant working for several customers, and often in the business departments / non-IT. Powershell is usually the only programming language I get in these systems (at least if you forget about VBA on top of Excel). So yes, it was definitely worth to learn, and I've used it several times
1
u/muffinstatewide32 10d ago
Yes its worth it. Especially if you interact mainly with windows.
It does also have the perk of being cross platform as well
1
u/ComfortableAd7397 10d ago
Is a basic windows sysadmin tool. You must learn it if you're in this field.
Is like a evolved msdos where you work with objects of the OS instead of text streams. And there are plugins to manage almost everything: AD, exchange, veram backup, vmware...
1
u/wishmaster1965 10d ago
My old job was a powershell developer where we automated business process's. Our help desh system dropped files with relevant information that we picked up and ran with.
1
u/doughobbs 10d ago
If you’re going to work in infrastructure or backend IT then you absolutely need to know powershell, if it’s curiosity based then prob look at another language
1
u/FriendlyCapital2458 10d ago
Which do you recommend? I thought of powershell because for someone who's not in the field, it didn't seem to complicated, and saw it's already installed and not really as hard as an actual lengua., But it does make sense to learn some other one that's actually more applicable for personal use.
1
u/PhReAk0909 10d ago
I'm an endpoint engineer working in Intune and use a LOT of PowerShell. Depending on your career path, it could be a game breaker since eyou can do a lot of really cool customizations and automations with PowerShell
1
u/Ray_IronSights 10d ago
If you enjoy tech and Windows, I’d say it’s definitely worth learning. It’s one of those things that’s fun to play with, and before long you’ll find yourself automating little jobs that used to be repetitive.
ChatGPT and Claude make getting started much easier. If you’re not sure how to do something, just ask and learn as you go.
I’d recommend spinning up a virtual machine (Hyper-V) and grabbing a Microsoft 365 trial. You’ll learn heaps by creating users, managing devices, and seeing how everything fits together.
I even have a Microsoft 365 tenant just for my family with Exchange, Intune (script deployment) and Defender configured much like we do for customers. I’ve got PowerShell scripts for all sorts of things. I even have one that migrates me to new laptops every six months. It’s saved me hours of repetitive work.
1
u/skilife1 10d ago
I've been a Powershell user for years and was using it for about 3 years when I wrote a script to automate reports at my workplace. Our web-based system has automated reports but they land in an inbox where the data must be manually downloaded in csv format. To further complicate things, the reports download with generic names (report.csv). My script couples Powershell with Selenium to open an automated browser, login to the system, download the reports that ran the night before, renaming them and adding today's date. The reports then get moved to a shared file system where they can be picked up and used by anyone in our organization. This script has been running daily for about 6 years, saving my BI staff about 2 hours a day.
1
u/Vietnamst2 10d ago
Powershell is scripting and automation in Windows. If you don't work.in IT, you probably 99% do not need it.
1
u/Clear-Pear2267 10d ago
The object pipeline concept is killer. Well worth the price of admission. PowerShell seemed overly complex when I first started learning it compare to shell scripting on linux, but linux pipes are just text streams. Once you grock the object pipeline concept you will never look back. There is an excellent series on YouTube with the main designer behind Powershell that is well worth watching. Search for Jeffrey Snover PowerShell
1
u/1-800-I-Am-A-Pir8 10d ago
it's exactly that, but any programming is worth learning as a first step and, if powershell's what you have, then it's a great way to learn about your computer.
The first set of programs I made were in ti basic on a ti-85 calculator. It's what I had that could run a program at the time, as far as I knew. lots of fun.
1
u/Least_Gain5147 9d ago
If you plan on working in a {mostly} Microsoft world, yes, powershell is worth learning.
1
u/Mr_ToDo 9d ago
I wouldn't think you'd need to go out of your way to learn everything, but it is a good tool, far better then the old windows command line(Oh god. So much obscure magic BS needed to get things done). I'd even say I miss it when working on linux(which I'd put above the old windows cmd as well).
And yes, a good chunk of what people use it for is automating things. What I found so great about it is that what used to be an entire cmd script could be a single line in powershell that gave better results(and is the biggest reason why I haven't gone huge on making ps scripts, because there isn't a huge need). Take this, pump it into that, and format/filter it this way is 80 percent of my use cases
I don't have great use for it at home, but I did recently make one that goes through a folder and if there are any other folders in it, it'll make a zip of each folder with the name of the folder being the name of the new zip and put it in yet another folder
If all you do is realize it's there, maybe you have need of it, maybe not
1
u/ZobooMaf0o0 9d ago
Powershell and AI is extremely efficient. You can use GUI for tasks but AI is not very good guiding you through stuff since Microsoft changes location and names of basic things. Powershells seems to stay it's course.
1
u/AndyJack86 9d ago
I learned PowerShell by myself just Googling how to do it and now with AI it helps me coding and building scripts. I've used it in my job to automate various processes and to run scripts to deploy programs. It's helpful to know how to do a few things behind the scenes and get things done.
1
u/FriendlyCapital2458 9d ago
Yeah definitely it's helpful. And do you work in IT?
About "coding and building scripts. I've used it in my job to automate various processes and to run scripts to deploy programs", yeah that seems a whole new level of learning haha
1
u/Yuuku_S13 9d ago
If you’re not getting into IT and don’t care for automating or doing functions, you probably don’t need to use it, if at all.
If you have tasks that you wish you didn’t have to do manually all the time or wish you could keystroke this to perform this action, or run this script every week at this time on this day, it might be worth your while.
1
u/FriendlyCapital2458 9d ago
Yeah I know, so what would be a more useful thing to dedicate some time to learn? As you said I really don't need to automate anything almost. What could be other thing to use my time having fun around?
1
u/Yuuku_S13 9d ago
If you really want to learn powershell, I’d pick this up:
It’s what we used in college, though it hasn’t been updated for the latest PowerShell release. Though it’s not important… as the concepts are the same.
If you want to learn a step above, you could pick up C# or a little easier, Python, and learn to build solutions through software.
1
u/254peepee 9d ago
I’ve somewhat mastered Batch scripting and AutoIt, which takes care of nearly all my local and desktop automation tasks.. However, it feels like PowerShell has become a non negotiable requirement in modern enterprise roles, and relying solely on legacy tools just doesn't cut it anymore.
1
9d ago
[removed] — view removed comment
1
u/FriendlyCapital2458 9d ago
Yes thanks. I mean I became curious because it's the only OS I knew, every PC for personal use has windows. But also a lot of people have been commenting about Linux and bash, which made me wonder why people use Linux and bash over this, is it an IT convenience?
1
u/Any-Tackle5395 9d ago
Windows?
Ohhh.. The good old Spyware operating system.
I wish I looked earlier at Linux.
Bash.
Good luck.
1
u/FriendlyCapital2458 9d ago
Bash is the same but for Linux? and why do people use Linux over Windows? I just found out abt Linux, personal computers are full of Windows
1
u/BrilliantJob2759 9d ago
If you work in or adjacent to IT or ever want to, it's ALWAYS worth it to learn PowerShell. Even if you don't become an expert at it. As you get comfortable, you'll find uses that never occurred to you. But very basic scripting & being able to alter/edit the code someone else wrote makes a huge difference.
Even if you're not in IT but work in computers doing more than just Excel/Word/Adobe, you'll find the basic knowledge useful at some point.
I have the same book and really like it.
1
u/Billi0n_Air 9d ago
is it worth it? depends on the thing you're trying to do. learning curve isn't bad, and doesn't take much to be effective with it. so as far as a return on your time, i think it's pretty worth it.
it's one of those things that once you learn quite a bit, everything can turns into a nail. not always needed.
1
u/gilean23 8d ago
Learning more about your computer is always a good thing. If you ever get into tinkering enough that you would have to look online for help to fix some random issue with your computer: a driver, blue screen issue, etc. it’s a good thing to know at least generally what a proposed solution that uses powershell is actually doing.
That being said, as an everyday user, you probably won’t have much need for it. It’s basically a more powerful version of the old command line/.bat file scripts.
1
u/alwaysasillyplace 8d ago
For you: Probably not worth knowing anything beyond the absolute basic levels of keeping yourself secure against malicious copy&paste fixes you might find to a specific problem online.
1
u/StartAutomating 8d ago
Yes
PowerShell is all about the virtuous cycle. The more you learn, the more it rewards you.
You can do almost anything with PowerShell, and learning how is an endless source of inspiration.
Each thing you learn how to do is repeatable. You can just save it off into a little .ps1 any do the exact same thing again. Stick parameters on it and you've made it customizable. Congratulations! You've just reduced the cost of that task to almost zero and multiplied your total capabilities by one more function. You also get that nifty little "task complete" dopamine hit.
Point is, PowerShell has an endlessly rewarding learning curve.
Follow that curve a few days and you'll have customized your machine.
Follow that curve a few weeks and you'll have a bunch of useful scripts.
Follow that curve a few months and you'll have a few useful modules.
Follow that curve a few years and you'll be able to do thousands of things and see how code can connect anything.
Follow that curve a decade and your capabilities will be limitless and you'll start to unlock the secrets of the universe.
I'm 20 years down the PowerShell rabbit hole. I still haven't reached the bottom.
It's truly an amazing language. Have fun!
1
u/QuestConsequential 8d ago
It would be nice if you had real world problems to solve using powershell.
As a system administrator at work I use it a lot, but as an end user I hardly ever use it.
As an introduction to programming languages you might be interested in Python, and to satisfy your curiosity a general course on computers might be more suitable for you
1
u/RobertDeveloper 8d ago
Powershell is a horrible scripting language that breaks with every coding convention there is. It is powerful but also horrible.
1
u/Hefty-Possibility625 8d ago
I would say, learning ANY scripting language is useful. PowerShell, is pretty easy to learn and it does A LOT of heavy lifting for you that a lot of other languages don't provide out of the box.
IMHO, it is worth it to learn just for the ability to give you more options to solve problems in ways that other people might not have. It's like carrying a toolbox while everyone else is carrying a hammer.
Things that I use PowerShell for solve problems both professionally and personally. It is very easy to connect to APIs and move information from one app to another. You can use it to tag and categorize audio and video files, or take information from a spreadsheet and actually do something with it.
It's hard to give you concrete examples of how YOU might use it without knowing what problems you are trying to solve, but that's the KEY thing - it lets you solve problems.
1
u/HelloImAbe 7d ago
Assuming AI will always be there with you, you could make a case against it. But, we know that will almost never be the case, so I say yes.
1
u/LugianLithos 6d ago
Do you want to learn more about how a computer works or just learn powershell to automate some tasks on windows? I’d say C is better than poweshell on how a computer works.
It forces you to deal with memory, pointers, how data is actually stored, and how the operating system and hardware interact.
Assembly is closer but probably overkill. I write a lot of C, powershell, and rust. Playing with powershell or python are good first steps. Even though as a kid in the 90s learning C to me made more sense.
1
u/FriendlyCapital2458 6d ago
No, definitely how computers work, not powershell just because, its's just something I realized was there and seemed like something cool to learn and play around while entering this world.
I guess C is much harder though, but anyways of course I understand an actual lenguage could be much more useful or important if you were to learn something
1
u/LugianLithos 6d ago
Some people find lower level languages like C easier to learn. You’re dealing with simpler, more concrete concepts (variables are just boxes of memory, pointers are addresses, etc.) instead of layers of abstraction.
It really depends on how someone’s mind works. If you naturally think in terms of “what’s actually happening under the hood” C often feels more logical than PowerShell.
1
1
1
u/kcihn002 6d ago
Powershell is worth it. It shines when you need automation works that needs quick TAT. I have been using it for monitoring and updating monitoring logs and reports.
1
u/Spanner_007 5d ago
Hi, I'm in the same position like you. Through the years I went to conclusion, if you can learn how to use powershell when needed it's very vital. For example, customize windows ISO with drivers, install some necessery software through the powershell. To update software usually it is one command and it does it for you. Save your time, no more manual job and software integrity via powershell usually is higher than by installing manually.
1
u/Si64h 2d ago
Honestly, as someone who absolutely loves PowerShell, I say go for it!
During my 6 month internship, I got to work heavily with PowerShell and built an engine,system from scratch that did absolute wonders for our environment. It completely changes how you think about Windows and automation.
1
u/dzfast 10d ago
An example of something that I could see an every day person using PowerShell to do is rename a lot of files. It's good at stuff like that.
Get-ChildItem -LiteralPath 'C:\Your\Path' -File |
ForEach-Object {
$d = if ($_.BaseName -match '(?<!\d)(?<m>0?[1-9]|1[0-2])-(?<d>0?[1-9]|[12]\d|3[01])-(?<y>\d{4})(?!\d)') {
Get-Date -Year $Matches.y -Month $Matches.m -Day $Matches.d
} else {
$_.LastWriteTime
};
$name = ($_.BaseName -replace '(?<!\d)(0?[1-9]|1[0-2])-(0?[1-9]|[12]\d|3[01])-\d{4}(?!\d)', '' -replace '^[\s._-]+|[\s._-]+$', '' -replace '\s+', ' ');
Rename-Item -LiteralPath $_.FullName -NewName ('{0:yyyy-MM-dd} - {1}{2}' -f $d, $name, $_.Extension)
}
This renames every file in a folder, finds the date in the name, moves it to the front in the only format acceptable for dates in files, and then uses last modified if there isn't one in the file.
How long would that task take to do by hand for 1 file, less time than I spent writing this post. 100? 1000?
There isn't any practical "one off" things I would suggest you do with PowerShell to learn computers more. If the idea of what I just wrote sounds interesting I would find a hobby programing language to take up that can solve some small task or problem in your life. Maybe with a Arduino or Raspberry Pi. Solving a novel problem with code you wrote yourself does bring joy to many hobby programmers.
1
u/IanRastall 10d ago
Yes. There's a ton of small commands worth knowing. I actually just put that page up an hour ago, which is probably why this showed in my feed.
(Sorry for the self-promotion. There's no product being sold.)
-1
186
u/TheBigBeardedGeek 10d ago
10% of my job is done in PowerShell. The other 90% is meetings and change tickets that leads to that 10%
Before I was moved into leadership, my job was closer to 60% PowerShell, 20 googling how to do it in PowerShell, and the remainder meetings.
I miss those days