Training

Why the HECK Do You Want to be Taught .NET in a PowerShell Class?!?!?!

Don Jones
3 min read
Share:

Ok, that post title is deliberately provocative. Twitter and all that.
So look, we’re designed this advanced PowerShell class. One of the top five constant suggestions I get whenever I say “advanced” and “PowerShell” is “.NET Framework.”
And I get it. When there’s no cmdlet, .NET has a ton of goodies that can solve a lot of problems. Maybe you don’t like turning to it, but you’ll do it if you have to.
My problem is, what’s that look like in a class?
I mean, for me, using .NET basically works like this:

  1. Spend hours on Google finding the .NET class that will do whatever I need done.
  2. Look up class documentation on MSDN.
  3. Fiddle around in PowerShell with properties and methods until I get what I want.

I can totally see a class making #2 and #3 a little easier. That’s just some basic experience, which is what a class helps build. The problem is, I can teach someone those steps in 30 minutes or less. The hard part is #1, and I truly don’t know any way to “teach” that. You’re either good at Google, or you aren’t. I certainly can’t provide some kind of mega-directory to the whole Framework - that’s what bloody Google or MSDN Search is for.
#3 can also be a hard part, because it requires you to know a bit about the underlying technology. It’s easy to use .NET to resolve DNS names to IP addresses - IF you know how DNS works. If you don’t, .NET is hard to use for that task. I can’t turn a PowerShell class into a “here’s how ____ works, so that I can show you how to do it in .NET.”
So everytime I try to teach .NET in a PowerShell class, I end up showing people how to read the MSDN documentation, execute methods in PowerShell, and look at properties in PowerShell. Kinda boring. I mean, they’re just freakin’ objects, right? Once you’ve grasped “objects,” isn’t .NET easy, assuming you’ve done #1 and found the class you need?
So if you were taking your dream class in “advanced PowerShell,” and you were all excited that it had a module on “Using .NET Framework,“  exactly what would that module look** like** ? What would you want to be TAUGHT?
Leave a comment. Tell me.
(By the way, if your answer to the question is, “I want to learn how to find what’s in the .NET Framework,” there’s no need to leave a comment - we all want that, I’ve just no clue how to teach it other than teaching you to be better at Google!)

Related Articles

Jun 7, 2020

Iron Scripter: Learn PowerShell through code challenges

Hello, friends! Today I want to talk about the Iron Scripter code challenges and the accompanying website. The challenges are excellent for practicing challenging concepts. What’s that you say? Not familiar with Iron Scripter? Let’s get you up to speed. Iron Scripter: A brief history lesson The Iron Scripter website is part of the PowerShell.org family and provides material for the Iron Scripter challenge that takes place at PowerShell Summit each year.

Aug 20, 2019

A Peculiar Parse

One of the best enhancements to Powershell was the inclusion of custom classes in v5. We originally wrote scripts, then we wrote cmdlets, followed by modules, and now we’ve graduated, with Class. I recently decided I wanted to write some code that would build a website. What better way to do that than by creating a class just for me? That’s rhetorical by the way. My early class code looked like this:

Jun 3, 2018

We Need Your Help.

We need your help.

As you may have heard, we’re launching a new “OnRamp” track at PowerShell + DevOps Global Summit 2019. Limited to 40 students, this will be a hands-on class designed to bootstrap someone into the technology and our community.  There’s a whole brochure about it!

We’re also offering a number of free-ride scholarships designed to cover admission, air, and hotel, to help increase the diversity of our field and community right at the top of the funnel. Half of our scholarships will be awarded to individuals from groups that are traditionally underrepresented in IT, and that’s where we need your help.

We need to get the word out to potential applicants so that they know to apply!