I got started with PowerShell thanks to the encouragement and enthusiasm of a friend and former colleague. Following that, I've largely developed my knowledge through the standard combinations of trial + error + googling and more recently (as is evident) by doing my best to engage with and give back to the community.
When I meet people who are new to PowerShell and they ask me to advise them on resources to help them get started I often mention the Learn PowerShell in a Month of Lunches book (which recently released as a 3rd edition) mostly because I've seen it recommended by others in the community. However I personally had not read it and that seemed.. well.. wrong.
Equally it may seem a little bizarre that I read it now, but what I found was doing so helped me to confirm some things I knew (which has given me more confidence when attempting to explain them to others) and has clarified some things I was murky about. It also taught me a few things I didn't know at all and I was surprised (and impressed) by the depth and inclusion of some topics which I didn't expect in a book (I always assumed is) aimed at beginners.
-- When I put together the original list of topics I wanted to cover (see below) I decided it was too long for a single blog post. I also found that they fell in to four broad topics and so to make things more specific for future googlers, each major topic is getting a blog post of it's own which I will link to when they are ready.
Without further ado, here are some things I learnt from reading Learn PowerShell in a Month of Lunches (#TILFMOL):
- #1 The PowerShell Pipeline
- How pipeline input knows where to go
- If you can't get input to a parameter via the pipeline, there is another way
- One script one pipeline
- #2 PowerShell Help
- Help vs Get-Help
- The meaning of square brackets in help:
- Optional/Positional Parameters
- Array Input
- #3 PowerShell Remoting
- Executing remote commands on one or many machines
- Deserialised objects are the result of commands
- Creating Endpoints
- #4 PowerShell Jobs (coming soon)
- Creating background jobs locally
- Running a command -asjob
- Creating scheduled jobs (not scheduled tasks)
Happily, I can now confidently and personally recommend Learn PowerShell in a Month of Lunches, not only for beginners but to anyone looking to validate and further their knowledge of PowerShell.