I wanted to add that if you're brand new to PowerShell then you should take a look at <em>PowerShell in a Month of Lunches</em>.
Also, take a look at /r/PowerShell. There are fantastic people in there, and they're incredibly knowledgeable.
The best way to learn anything depends on your learning style. Some people learn better by reading, some by watching videos, and some by doing. It's important to know how you learn effectively.
That said, my recommendation is to find a routine task you do regularly and figure out how to do it automatically with PowerShell. Do you archive old report files to a specific directory structure? Learn about Copy-Item
. Do you manage Exchange, SCCM, O365, anything like that? They all have automation support with PowerShell. There are even community modules that support a lot of third-party products - for example, the JiraPS project allows you to manage JIRA items with PowerShell, including creating new issues, commenting on existing ones, and closing them out.
If you prefer reading, the book <u>Learn PowerShell in a Month of Lunches</u> is often recommended - but it's very important that you actually follow along with the exercises in the book. Type them and run them on a live computer whenever possible.
If you prefer videos, I suggest the Microsoft Virtual Academy series on PowerShell. These are a bit long, but they do a great job of teaching you both concepts and practical knowledge.
Hope that helps!
I'm not sure I'd consider Powershell devops than a core Windows administration tool. Devops to me would be like Chef, Puppet, Ansible, Salt, etc. (Puppet I think would be good for a Windows person to learn.)
You can do Powershell in a month of lunches: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
You can do the Microsoft Virtual Academy as well: https://mva.microsoft.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-8276
Powershell is very object oriented and pipelined, it's not a bunch of "++1, !, +3," style of true programming. It's more of a "get-aduser doej"
A lot of the commands are the same syntax prefixes, like "get" and "export".
Don't be discouraged, envision yourself knowing this inside and out in a year, and your mind will work you toward this goal.
What, specifically, do you work with that you think can benefit from scripting?
Powershell in a month of lunches is apparently quite good, that will cover Powershell from the basics to relatively advanced concepts, although I don't recall it covers AD.
Once you have a grasp of PowerShell, the AD modules are not much trouble to learn at all, MCSA should at least cover some of that.
Also - Take a look under the "resources" tab on the right of this sub.
I can also throw in a recommendation for https://www.amazon.co.uk/Adaptive-Code-via-patterns-principles/dp/0735683204/ref=sr_1_2?keywords=C%23+SOLID&qid=1564580206&s=gateway&sr=8-2 - I have a copy and it's a good read
I like a nice ham sandwich for a lunch point.
As far as getting into PS. This is the usual recommendation.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Enjoy your book and sandwich.
Learn Powershell in a Month of Lunches
Also, SS64 has a great Index/reference of PS commands.
Another good thing to do is to start searching the web for "how do I $taskName in Powershell."
If you’re looking for resources that may be helpful, have you tried the “Learn PowerShell in a month of lunches” series by Don Jones? https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_api_i_fJafCb1K1VSKQ
Also, Microsoft Virtual Academy has a good training course with Jeffrey Snover (https://mva.microsoft.com/en-US/training-courses/getting-started-with-microsoft-powershell-8276)
They’ve been a major help to me and I had no experience coding prior to them.
CLR via C# for a better understanding of the runtime you're working with.
C# in Depth for a deep dive into the language and it's features and their details of implementation.
I'd consider those two to be the primary intermediate texts.
Pick up Powershell in a month of lunches and grab a free month trial of pluralsight. Two great resources for learning the basics.
For your lab, check on your local craigslist; someone is always getting rid of some gear there. If not there try EBay, can’t swing a dead cat without hitting a CCNA lab kit like these: Cisco Lab Kit
Once you have lab equipment, get some windows servers spun up as that will make learning powershell both applicable and rewarding to you.
https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_apa_fabc_r74aGb8T88YNW
That book helped me learn all the basics and then some that I needed, when I started learning powershell. I still use it as a reference for writing scripts even after reading it too. It is super helpful and gets you learning the shell, the syntax of the script, and how to find information in the shell to do what you need. I can't recommend this enough.
Powershell is a very handy tool to have, but you don't need to 'dedicate' yourself. Go through this book and you'll be a step above a majority of IT professionals easily. https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Ticket: "I cannot change the order of my displays from control panel anymore"
Ticket Closed
Resolution: Git gud, scrub
Depends on your previous knowledge of scripting/programming but if little to none I'd recommend
Learn Powershell in a month of lunches: https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_apa_glt_fabc_3H478HT6G3ZY175PXSHD
I'm not aware of a fourth edition. You want "Learn Windows Powershell in a Month of Lunches". This is the one I have but it's third edition: Learn Windows PowerShell in a Month of Lunches, Third Edition: Amazon.co.uk: Jones, Donald, Hicks, Jeffrey: 9781617294167: Books
There is also "Learn Powershell Scripting in a Month of Lunches" - This has a yellow cover and should be read after the above book. It goes into writing scripts you can reuse but you need to know the basics in the first book before you can really get into this.
There is also another called "Learn Powershell Tool Making in a Month of Lunches" - This is an older version of "Learn Powershell Scripting in a Month of Lunches". They renamed it in later versions.
https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_apa_glt_fabc_WG7E0NR7WXYNM1H67Z28
That book is probably one of the best books I've ever read for learning a topic. Other than reading that book, I would suggest finding something you want to automate and then plugging that into Google. I think the first script I ever wrote was a mass reboot of all workstations in my domain. I just googled it until I found where someone else did it and then tweaked it for my use.
Not really fair to link to a PDF copy of the book. It's a fantastic book and worth purchasing and supporting the author.
Second this, it is pretty inexpensive on Amazon and full of good stuff. I had been working in Powershell for about a year or so off and on before I picked it up and have already filled in a lot of gaps in my knowledge from just the first few chapters.
I bought my print edition from Amazon and you also get a free LiveBook (online book where you can post questions, small community of people there too, seems active enough). Powershell in a month of lunches
​
Definitely a great book. There are others too, the one I pasted is primarily just for learning the basics of the Powershell CLI. There are others for really learning how to script and build with Powershell more in-depth.
I got my copy off amazon - https://www.amazon.com.au/Learn-Windows-PowerShell-Month-Lunches/dp/1617294160/ref=sr_1_1?crid=3E05CQGIIHRNB
regex are well worth the time to learn, useful in just about any language you use and very powerful.
Here is a good read that is kind of the defacto regex book. mastering regex
If you have a computer science background it should be easy to pickup C#.
I haven’t read it personally but that heard good things about this book.
https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363
Cartea de care zic este aceasta: https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363 O găsești pe libgen sau alte siteuri de "specialitate" ca ăsta :)
Probabil este bună și cea de care zici tu, dar n-am avut experiență cu autorii respectivi.
You could use a "regular expression" to extract the text, but you will have to learn regexes, and that is involved, and a gateway to harder things like Perl and shell, and likely to ruin your life.
You could extract the text with a Run JavaScript action, but you'll need to learn JavaScript and the HTML DOM which has its own, slightly more hip, perils. This approach probably makes the most sense.
I strongly recommend this book: https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363
I've found it's a fantastic reference for making the jump from Framework to .NET 6. I'm making the same transition in a similar place (small company, proficient at Framework). We already use MVC, and the transition isn't conceptually that bad.
I've been enjoying this book, not Unity based but good for C#.
I've been in IT for 10+ years and learning how to code or even run PowerShell commands makes me so freaking sleepy.
So of course I google whatever I need to.
It sucks because I'm not built for coding.
I have even tried doing Learn Windows PowerShell in a Month of Lunches but 5 minutes in I'm snoring.
What they said above. Additionally, patterns can be described as a DSL (Domain Specific Language) that help you communicate ideas and approaches more succinctly and become transferrable knowledge. Anytime you see a foreach, that's an iterator patten from GOF. Controller, there's a few different versions depending on where in the stack you are (Front Controller vs Controller in MVC (this comes from Smalltalk a long time ago) but generally is doing some request brokering. Fowler had a lot of these in an oldie but goodie: https://smile.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/ref=sr_1_4
It's worth a read even if it's for consistent naming, which ends up making development faster, or at least it should.
I would highly recommend learning powershell in a month of lunches. Just about everyone one of those ideas and many more would have been covered in there. Entry 1:
ForEach ($line in (Get-Content "myfile.txt")) { #do stuff with $line }
Entry 2 is really dependent on how your using and what object type you're using, but here is an example that will work with even most complex object variables:
$myVarToSave | Export-clixml mySavedVar.xml
$myRetrievedVar = import-clixml mySavedVar.xml
Entry 3:
$randomLine = Get-Content "myfile.txt" | Get-Random
However, try out Learn Windows PowerShell in a Month of Lunches