Friday, January 29, 2010

PowerShell Master Class – 9-11 March 2010 in Stockholm

Do you want to learn more about PowerShell V2? Do you want to take your skills to that next level? Do you want you head to explode as you learn more, more and more about PowerShell? If so, I have just the ticket for you1

March sees the first PowerShell master class. It’ll be three days of intense  PowerShell – hands on and practical. No marketing stuff – just hard core useful information and plenty of hands on. I’ll be turning up with more material than we can cover in the normal day, so we’ll  be having evening sessions in the hotel – and who knows the odd drink too!

Afraid it’ll all be too technical – well that’s always a risk, but we start off slowly and go deeper and further than any of the official courseware is allowed to. So  bring your helmet and seatbelts!

Here’s the class outline:

Day 1 – The Basics

  • PowerShell Fundaments – the key elements of PowerShell plus installation, setup, profiles
  • Discovery – finding your way and learning how to discover more
  • Formatting – how to format output nicely
  • Remoting – working with remote systems
  • Providers – getting into OS data stores
  • Homework – you’ll get a short assignment to complete by the start of Day 2

Day 2 – Diving Deeper

  • Scripting Concepts – automating everyday tasks including language constructs, error handling and debugging
  • Modules – managing PowerShell in the enterprise
  • .NET/WMI/COM Objects – working with objects
  • Homework – you’ll get another assignment to complete by the start of Day 3

Day 3 – Practical PowerShell

  • PowerShell and Windows Client/Server – how you can use built in PowerShell cmdlets
  • PowerShell in Key Microsoft Servers - a look at PowerShell today in SQL, SCVMM plus a look forward to the future with SharePoint 2010
  • Taking it to the Next Level – the stuff we can’t cover in these three days.

I am really looking forward to working with LabCenter – they have a great facility in Stockholm, and will provide great hands on systems for you to use (and there may even be a pretty cool take away that I can’t talk about today – so watch this space). They’re really nice people too!

Places are limited and I know there’s already a number of bookings – so book now!  See you in Stockholm in March. And please pass on the word!

Saturday, January 09, 2010

Number of Microsoft Certified Professionals Worldwide

As I pointed out in a blog post a while back, Microsoft Learning publishes a web page displaying the number of MCPs in the world. Well they used to – it looks like the page ( now just re-directs to a different page ( that just lists the details of certification itself, and not the number of folks certified. Shame really.

Technorati Tags: ,

Tuesday, January 05, 2010

Elevation Power Toy for PowerShell

Now this is pretty cool - a power toy to handle elevation of PowerShell scripts. The idea is simple: you run PowerShell as normal, then use this powertoy to run a script (or cmdlet) as elevated. Yeah! Still not quote SUDO but getting better.

You can get more information and the tools by visiting TechNet Magazine at:

Turns out this tool has been around for a while - wonder why I hadn't seen it before.

Technorati Tags: ,

Saturday, January 02, 2010

PowerShell Cmdlet Naming Conventions Inside Modules

PowerShell cmdlets use a verb-noun naming pattern. To the extent possible, you should follow the same pattern when writing your own functions and scripts. This verb-noun naming is partly enforced by PowerShell, at least as far as the verbs to. MS has published an approved verbs list on MSDN.
With PowerShell V2, if you try to import cmdlets or modules that violates the verb naming convention, you’ll get a warning. Here’s an example module to demonstrate this. First, I create the file testmodule.psm1. I store this as testmodule.psm1, inside my modules folder:

  1. # Demo of badly named function 
  2. # and how PowerShell V2 deals with it 
  4. function badly-named { 
  5.   "Inside the badly named function" 
  6.   } 
Look what happens when I try to import it:
PSH [C:\foo]: ls $Modules\testmodule
    Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users\tfl\Documents\WindowsPowerShell\Modules\testmodule
Mode           LastWriteTime       Length Name
----           -------------       ------ ----
-a---      1/2/2010 12:36 PM          340 testmodule.psm1

PSH [C:\foo]: import-module testmodule -verbose

VERBOSE: The command name 'badly-named' includes an unapproved verb which might make it less discoverable
VERBOSE: Importing function 'badly-named'.
PSH [C:\foo]: badly-named
Inside the badly named function

Ss you can see, you can create a module with a badly named function just as you can create your own badly named cmdlets – and they work. But when you try to import such a module, PowerShelL v2 emits a warning error.
So for those of you getting into PowerShell, make sure that the functions you are putting into modules are named correctly!
Technorati Tags: ,,