Author Posts

September 25, 2015 at 4:29 am

Hi guys,

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.

Cheers,

Christian

September 25, 2015 at 5:21 am

I need to do something like this too.

  • Data Types – common data types and how to determine what the type is (common reason for errors is passing the wrong data type)
  • Objects – understanding how Powershell passes information
  • Get-Help – understanding what the command params mean, e.g. string[], ValueFromPipelineByPropertyName, etc.
  • Filtering – examples of where
  • Analysis – measure, group, sort
  • Exporting\Importing data – html, csv, xml
  • Errors – common errors and what they mean

September 25, 2015 at 5:35 am

I think if you look at the outline for "Learn PowerShell in a Month of Lunches" you'll find it's a pretty good sequence for topics.

September 25, 2015 at 5:37 am

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.

September 26, 2015 at 3:17 am

@Rob: I was thinking something along those lines as well.

@Don: That is indeed a good book and outline. However squeezing all of that into a compressed 1-day session, will be quite the challenge 🙂

Thank you both for taking the time to reply to this thread.

September 26, 2015 at 5:42 am

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?

I like the ideas mentioned in this post

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.

Cheers!

September 26, 2015 at 7:45 am

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.

September 26, 2015 at 2:22 pm

@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.

Thank you both for sharing

September 27, 2015 at 2:29 am

If, by the end of the day, they are not thoroughly familiar with Get-Help and Get-Member, you have failed.

September 27, 2015 at 9:47 am

@Bob: That goes without saying – but thanks for sharing 🙂