I have been tasked with delivering an internal 1 day (2 x 3 hours or so) “Getting started with PowerShell” training session, and am looking for input and resources.
Does anybody have something to share about key content, order of delivery, topics I can expect to get through in one day (considering that the audience is expected to be beginners) etc.
Any input and/or resources you can share, will be greatly appreciated.
yup I have your both of your books I’m 4 weeks into PowerShell now and I’m hooked Wow I cant believe the real Don Jones is here… This awesome!!! I tell all my coworkers to get your books of course they cant use mine because the pages are so marked up by me and they have little page tags hanging off nearly every page. Thank you so much for your contribution to the community.
I’ve gone the “try to teach them in a few short hours” route, it was quite hit or miss. What’s important enough to include? Will you leave 1/2 the audience in the dust if you try to fit it all in? Will you scare anyone away? How effective will a single presentation / lecture be?
Nowadays, if a similar request for a few hours of training comes up, I might try to keep it informal. For example:
Mention some core ideas - Importance of scripting / tooling / automation, why PowerShell, focus on re-usable tools, etc.
Show them what they need to learn more (discovery, getting help, exploring objects, etc.)
Whet their appetites with a few demos that solve pain points they can relate to (both core PowerShell and community advanced functions or modules)
Point out that they need to spend at least a few minutes every day
Give them some resources to follow up on (Month of Lunches is usually a good fit), including contact info for folks open to helping them out.
Part of it might just be me, but it seems teaching PowerShell in a few hours would be a very, very tough challenge : )
Whichever route you go, these are usually fun, and even if you only convert a few folks over, it’s awesome to see your co-workers start realizing the power behind this, dive into it, and become advocates themselves.
One of the key points that made PowerShell “click” for me when learning was realizing that a majority of the time you are dealing with objects as opposed to dealing with text like you would in another environment like Bash.
Case in point, if I run ps on a Unix box to tell me what processes are running, what does this return in the strict sense? It returns text that is output to standard out. If I want to interact with this output somehow, I would need to interact with it as text (sed and awk to tokenize different “columns”, pretty heavy use of regular expressions, etc)
Now if I run ps on PowerShell (alias for Get-Process), I get an array of Process objects back (of type System.Diagnostics.Process) which allows me to interact with these Process objects using any of the methods or properties available to objects of that type- It just happens to be the case that PowerShell is intelligent enough to output these objects to standard out in a way that makes them readable.
@Warren: I read the same post on Windows IT Pro a while back, and inspiration from that, is actually part of the reason I am now asked to do this 1-day session, as a starting point for an ongoing initiative with an internal user group/forum type setup, with monthly meetups etc… Thank you for sharing your own experiences, I will definately take your advice into consideration.
@Vasken: Yeah … objects will obviously be a key part of it.