Monday, March 22, 2010

And now for something quite different

I have a good friend that lives on the Big Island of Hawaii (Kona side). She runs a coffee plantation and a small Mac consultancy in her spare time. I’ve enjoyed her coffee for a long while (if only post was somewhat less expensive!).

She also rents out a room on the coffee estate for you to rent. The rate is US$50/night plus 12%tax). This is a real bargain near some great snorkelling and diving locations. The house is high enough up in the hills for good sleeping (and of course good coffee). And the place is pretty quiet which is good if you just want to get away from it all and chill.

Although the pictures are not the most artistic, Mahi House itself itself is fairly new – with parking!

 YourHouse

The room is also nice:

YourRoom

So if you are heading over to Hawaii and looking for a bargain place to stay, please let her know (MahiHouse@Yahoo.com).

Technorati Tags: ,

Official Microsoft Team Blogs

Over the past few years, Microsoft has gotten big on blogging. A number of employees blog their activities to a personal blog. Additionally, a number of product teams blog, as a team. Some of these, such as You Had Me At EHLO (The Exchange Team Blog) are fantastic, with re rest mostly very good.

Naturally, there's a page to see an Official list of Microsoft Team Blogs / Microsoft Blogs!

There is some great information here -if you have the time to read it all!
Technorati Tags: ,

Saturday, March 20, 2010

Windows PowerShell Cookbook

I see Lee Holmes is updating his Windows PowerShell Cookbook - a nice book that is one of the three I carry around when I train PowerShell. If you head on over to the O'Reiley Labs site, you can view the emerging next edition.

If you sign-up/register (see link at the top of the page), then you can make coments etc.

Wednesday, March 17, 2010

PowerShell Master Class in Stockholm – A Great Success (and now a repeat!)

The PowerShell Master Class in Stockholm last week was three long days of PowerShell Fun. The course went very well and the delegates great.

The training centre, LabCenter.SE is an amazing place to teach. The rooms are well kitted out (killer sound systems), good lighting, great chairs, and very good computers. It’s a very happy environment – lots of nice refreshments, and the people are all wonderful. I think it’s one of the nicest centres I’ve taught at in a long while.

The delegates enjoyed the course they asked more more! So sometime late summer, early Autumn, I’ll go back for 4 more days of PowerShell Applied – lots more in depth labs etc. And given the market, the centre want me to come back to Stockholm to teach another run of the PowerShell Master Class in May (May 25-28) – although the web site is currently showing the wrong dates and length! We are making this a four day class – so even more fun and all the more PowerShell! 

To register for this course, you shoudl go to http://www.labcenter.se/shoppingcart.aspx?t=1 (although I note the price and duration is not yet correct so you might hold off booking for a wee while till I get the site updated).

Tuesday, March 16, 2010

Updating Reskit.Net

In last week’s PowerShell Master Class in Stockholm, I noticed that reskit.net was a tad out of date. I also agreed to put up a references page for the delegates to share all my many book marks. I found an old copy of FrontPage (ancient but it does the business) and have made a start.

Thus far, I’ve tidied up the front page a bit, and have I’ve removed some of the really old contents. I also created and began populating a /PSMC sub folder and made a link to an already existing /PowerShell Folder. There were a bunch of very old Monad and PowerShell scripts that I’ve removed (these will migrate over to http://pshscripts.blogspot.com).

Please take a look and add come comments!

Technorati Tags: ,

Monday, March 15, 2010

SCCM PowerShell Module

The relentless community development on all things PowerShell continues unabated. Today, I found a module for use with System Center Configuration Manager (SCCM). This module contains the following functions:
  • Get-SCCMCommands
  • Connect-SCCMServer
  • Get-SCCMObject
  • Get-SCCMPackage
  • Get-SCCMCollection
  • Get-SCCMAdvertisement
  • Get-SCCMDriver
  • Get-SCCMDriverPackage
  • Get-SCCMTaskSequence
  • Get-SCCMSite
  • Get-SCCMImagePackage
  • Get-SCCMOperatingSystemInstallPackage
  • Get-SCCMBootImagePackage
  • Get-SCCMComputer
  • Get-SCCMUser
  • Get-SCCMCollectionMembers
  • Get-SCCMSubCollections
  • Get-SCCMParentCollection
  • Get-SCCMSiteDefinition
  • Get-SCCMSiteDefinitionProps
  • Get-SCCMIsR2
  • Get-SCCMCollectionRules
  • Get-SCCMInboxes
  • New-SCCMCollection
  • Add-SCCMCollectionRule
  • Add-SCCMDirUserCollectionRule

It looks a great start. And while I like how all the nouns are all prefixed, there is the danger that when the SCCM team eventually deliver native SCCM cmdlets, there is a danger of cmdletname collision down the line.

Monday, March 01, 2010

PowerShell Documentation Community Review

The Microsoft PowerShell doc team is looking for volunteers for the third documentation review cycle. This cycle is focusing on the needs of new and intermediate PowerShell users. And if you speak a language other than American or English, then they’re doubly interested. Shay Levy has some more details over on his site.
If you care about the documentation, particularly non English language material, then contact superstar and writer extraordinaire June Blender (JuneB@Microsoft.Com) or PowerShell community superstar Marco Shaw (Marco.Shaw@Gmail.Com). Please help make the documentation better.

Sunday, February 28, 2010

Discovery In PowerShell – Get-Help vs. Get-Command

Discovery is process by which a user will learn to use any product. The more discoverable any product is, the easier it is for new users to get started. A disoverable product enables any user both to leverage what they already know and to find more. PowerShell was designed to be, and I believe is, a discoverable product.

One example of this came up this week – looking at how you can find cmdlets (and other stuff) that you can run. By using Get-Help, Get-Command and some where clause foo, you can quickly locate and learn about cmdlets in your environment. And, this help information provides examples to illustrate the use of a particular cmdlet and some products (eg SCVMM) add additional About_* files.

Get-Command and Get-Help are similar but different. They both can be used to find cmdlets and other help information. So while sharing a similar usage, they return different information. Get-Help returns information on 4 categories: Alias, Cmdlet, Provider and HelpFile. Get-Command, on the other hand, returns information of 6 different command types: Alias, Application, Function, Cmdlet, ExternalScript and Filter.

Where this helps is knowing which cmdlet to use to search for what. If you are using pure PowerShell Cmdlets, modules and scripts, Get-Help will be your main discovery tool. But if you are also using console applications from, say earlier versions of SharePoint, then Get-Command will help to find the commands you might need.

The trick to getting the most out of these cmdlets is knowing how to search and the key to that is using wildcards. If you want to find out what cmdlets, etc, are available for a PSSession object,

 

PSH [C:\]: Get-Help *PSSEssion*

Name                              Category  Synopsis
----                              --------  --------
Register-PSSessionConfiguration   Cmdlet    Creates and registers a new session configuration.
Unregister-PSSessionConfiguration Cmdlet    Deletes registered session configurations from the computer.
Get-PSSessionConfiguration        Cmdlet    Gets the registered session configurations on the computer.
Set-PSSessionConfiguration        Cmdlet    Changes the properties of a registered session configuration.
Enable-PSSessionConfiguration     Cmdlet    Enables the session configurations on the local computer.
Disable-PSSessionConfiguration    Cmdlet    Denies access to the session configurations on the local computer.
New-PSSession                     Cmdlet    Creates a persistent connection to a local or remote computer.
Get-PSSession                     Cmdlet    Gets the Windows PowerShell sessions (PSSessions) in the current session.
Remove-PSSession                  Cmdlet    Closes one or more Windows PowerShell sessions (PSSessions).
Enter-PSSession                   Cmdlet    Starts an interactive session with a remote computer.
Exit-PSSession                    Cmdlet    Ends an interactive session with a remote computer.
New-PSSessionOption               Cmdlet    Creates an object that contains advanced options for a PSSession.
Export-PSSession                  Cmdlet    Imports commands from another session and saves them in a Windows PowerS...
Import-PSSession                  Cmdlet    Imports commands from another session into the current session.
about_pssessions                  HelpFile  Describes Windows PowerShell sessions (PSSessions) and explains how to
about_pssession_details           HelpFile  Provides detailed information about Windows PowerShell sessions and the

Or try the following:

PSH [C:\]: get-command *PSSession*

CommandType     Name                                                Definition
-----------     ----                                                ----------
Cmdlet          Disable-PSSessionConfiguration                      Disable-PSSessionConfiguration [[-Name] <String[...
Cmdlet          Enable-PSSessionConfiguration                       Enable-PSSessionConfiguration [[-Name] <String[]...
Cmdlet          Enter-PSSession                                     Enter-PSSession [-ComputerName] <String> [-Crede...
Cmdlet          Exit-PSSession                                      Exit-PSSession [-Verbose] [-Debug] [-ErrorAction...
Cmdlet          Export-PSSession                                    Export-PSSession [-Session] <PSSession> [-Output...
Cmdlet          Get-PSSession                                       Get-PSSession [[-ComputerName] <String[]>] [-Ver...
Cmdlet          Get-PSSessionConfiguration                          Get-PSSessionConfiguration [[-Name] <String[]>] ...
Cmdlet          Import-PSSession                                    Import-PSSession [-Session] <PSSession> [[-Comma...
Cmdlet          New-PSSession                                       New-PSSession [[-ComputerName] <String[]>] [-Cre...
Cmdlet          New-PSSessionOption                                 New-PSSessionOption [-MaximumRedirection <Int32>...
Cmdlet          Register-PSSessionConfiguration                     Register-PSSessionConfiguration [-Name] <String>...
Cmdlet          Remove-PSSession                                    Remove-PSSession [-Id] <Int32[]> [-Verbose] [-De...
Cmdlet          Set-PSSessionConfiguration                          Set-PSSessionConfiguration [-Name] <String> [-Ap...
Cmdlet          Unregister-PSSessionConfiguration                   Unregister-PSSessionConfiguration [-Name] <Strin...

If you are looking for more conceptual information about some feature (typically the noun in the cmdlet name – as here “PSSession”) Get-Help will return the ‘About_’ topics, These help you to learn more about the underlying objects, as well as the help information about specific cmdlets. I personally use Get-Help to remind myself of the cmdlets names and spellings.

And finally – if you are using Get-Help on your local machine, you can usually specify the –online parameter. This opens up a browser window into Technet, pointing to the current documentation. If you look at the online help for Enter-PSSession (http://technet.microsoft.com/en-us/library/dd315384.aspx), you can see this page was updated mid December. The PowerShell writers do a fantastic job of fixing the online versions of the help. And they are working on a way to get these updates to you as fast as possible.

Saturday, February 27, 2010

PowerShell Master Class in Stockholm – Filling Up Quickly!

In a recent blog post, I mentioned the PowerShell Master Class I am running in Stockholm on March 9-11 2010 (see Http://Www.PowerShellMasterClass.Com for more details). I’m pleased to say the class is nearly full! I am looking forward to three great days with PowerShell!

NITkon – Day Of PowerShell in Norway

For those in or around Norway next month (well Wednesday March 17th to be precise), NITKon, a Norwegian education conference for IT Pros in Norway, is holding Deep Dive PowerShell – a full day Of PowerShell content. I think this is the first conference to hold a full day just on PowerShell!

The contents of the day look pretty good too:

  • PowerShell Modules – Bruce Payette (superstar member of the development team and outstanding author)
  • Proxy Functions – Dmitry Sotnikov (fellow MVP and the brains behind PowerGui)
  • PowerShell and Wmi – ME!
  • PowerShell and .NET/COM objects – ME again
  • Advanced Features in PowerGui – Dmitry Sotnikov
  • PowerShell Advanced Techniques – Bruce Payette

I can’t wait for this event. I’m always keen to see Bruce and Dmitry – they are awesome speakers. I hope we will be able to post the slides once the event is complete.

Hope to see you there.

Technorati Tags: ,

Tuesday, February 09, 2010

Formatting with PowerShell

PowerShell is an increasingly important tool for the IT Admin. In it’s early version, it didn’t do much, but with products like Exchange, SharePoint 2010, and System Centre being so PowerShell focused, it’s a tool every IT Admin needs to learn and learn how to leverage.

A key aspect of PowerShell is output – getting the output you need. In some cases, that output can be quick and dirty: how many mail boxes are currently on Mailbox-Server-1? Or how many handles has the DNS server used (and has that changed since last week).

But often, output needs to look good as well as being accurate. PowerShell has a wealth of formatting capabilities (and with 3rd party tools like PowerGadgets, you have a bunch more).

I’ve written a two part article for The Scripting Guys to explain some of these options. You can find Part 1 at: http://tinyurl.com/yhmvvul, and Part 2 at: http://tinyurl.com/ykt7wq6.

These articles are the basis for one of the modules in my upcoming PowerShell Master Class that I blogged about last week.  I’ve taken Module 3 of the class and turned it into these articles, although I’ll be adding some more stuff into the Master Class!

I’d be grateful for comments!

Sunday, February 07, 2010

Solarwinds – Free WMI Monitor

I am slowly pulling together my upcoming PowerShell Master Class. One of the modules looks at WMI objects and I’ve been searching for as many cool tools etc as I can find. Thanks to a couple of tweets (Shay and Doug!), I found a pretty cool free tool from Solarwinds, called WMI Monitor. This is a free download that does a number of things, including:

  • monitors the performance on a Windows server
  • leverages pre-built and community generated application templates for monitoring virtually any application
  • enables you to modify or design your own application templates with the built-in WMI browser

This tool is free, but you do have to register. Also – it’s a 60mb download! But if you are doing WMI scripting with PowerShell, it might well be worth the download.

Technorati Tags: ,,

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 (https://www.microsoft.com/learning/mcp/certified.mspx) now just re-directs to a different page (https://www.microsoft.com/learning/en/us/certification/cert-overview.aspx) 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: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx.

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 
  3.  
  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: ,,

Tuesday, December 29, 2009

Is PowerShell only for the Nerds?

An interesting question, to say the least. This blog carries a lot of PowerShell content – and much of that content is aimed at IT Pro types. I think it’s clear that IT Pro nerds working in the Microsoft need to know PowerShell. PowerShell is central to Microsoft’s current and future management roadmap – so, yes, PowerShell is for nerds.

That begs the question though - should home users have to learn it? Well – yes and no. There are certainly a number of PC enthusiasts out there that want to learn more about how to manage their home computer – and PowerShell can help much like they once used Cmd.exe (and may still do). Learning PowerShell does involve a learning curve. And much of the documentation and a fair share of blog posts do tend to be on the dense side until you become more familiar with PowerShell. So persevere.

But should your grandmother have to learn PowerShell? No. No more than she’d need or even want to learn C, the .NET Framework, DNS, TCP/IP! Those technologies, and PowerShell too, is built into the “system” so she doesn’t have to use them directly. Of course, developers may well begin to use PowerShell as part of building their GUI – and I hope they do so.

So if you’re a nerd, take a moment to download PowerShell V2 (assuming you haven’t already done so) and get cracking!

 

Technorati Tags:

Saturday, December 26, 2009

Exchange 2007 Updated Help File

For some products, suggesting someone read a help file is like suggesting they take a long walk on a short pier (albeit less wet). But for Exchange 2007, this seems good advice. Microsoft published an updated version of the help file for Exchange, available for download from the MS Downloads site.

I hope they continue this approach with the advent of Exchange 2010.

 

Technorati tags: ,

Unified Communications Developer Portal

Microsoft's push into the world of Unified Communications continues with the launch of the Unified Communications Developer Portal.  This MSDN portal is part of the Office Development Center, and is designed to feature links and resources for developers wanting to get into UC.

As I write this updated post, there some interesting feature articles, including Detecting the State of the Office Communications Server and Building UCMA Installers.

This is a great site for developers (and admins that secretly want to be developers!) to learn more about developing in the UC space.

Friday, December 25, 2009

Merry Christmas – One and All

It’s time to rest and hang out with my family. For those of you on line today: Merry Christmas – now get back to the folks that matter. For the rest of you, I hope you had a great day.

Thursday, December 24, 2009

PowerShell V2 Download

If you are running Windows 7 or Windows Server 2008 R2, then you will have PowerShell installed by default. On Windows 7, both the PowerShell console and PowerShell ISE are installed by default. On Server 2008 R2, PowerShell console is installed by default, whilst the PowerShell ISE is a feature you can add using Server Manager. And of course, for any Server 2008 R2 core installations, you would need to add both the .NET Framework and PowerShell – virtually nothing extra gets added to Server Core!

For downlevel (aka older) versions of Windows, Microsoft has released a KB article which directs you to versions you can download. Go to the page http://support.microsoft.com/kb/968929 where you can find PowerShell V2 for Windows XP, Vista, Server 2003 and Server 2008 (RTM) – in both 32-bit and 64-bit versions. Note that in Server 2008 RTM, PowerShell is not supported in Server Core.

In addition to PowerShell V2, the downloads also include the RTM version of Windows Remote Management (WinRM). WinRM is Microsoft’s  implementation of the standards based WS-Management Protocol. WinRM is based on Simple Object Access Protocol (SOAP), and provides a firewall-friendly protocol enabling hardware and operating systems from different vendors to interoperate.

If you are are using an older OS, i.e. Windows 2000 or earlier, then there is no supported version of PowerShell for you. You can probably hack some or even most of PowerShell V2 into those older OSs. But things may not work – and it’s not ever going to be supported.

Want to REALLY Understand What PowerShell Remoting Does On The Wire?

Well, maybe not everything, but the document entitled PowerShell Remoting Protocol Specification contains 179 pages of details of what Powershell Remoting does! It’s not for the faint of heart, to say the least as it very detailed – just the sort of hard core techie details that the true PowerShell addict will lap up!

This document is one of the many Communications Protocols that Microsoft has been publishing. You can download the specific PDF for the PowerShell Remoting Specification, or download a zip file with all the PDF files for all the published specifications. The latter might be overkill even for the most hardened network geek.

Wednesday, December 23, 2009

Microsoft Releases the PowerShell v2.0 SDK

The Systems Development Kit, or SDK, is a download of stuff you need to be able to develop applications around a particular technical area. The Windows SDK is huge and there are SDKs for almost every technology MS produces. Other vendors produce SDKs too.

Initially, Microsoft shipped a PowerShell SDK. Then some time ago this changed and the PowerShell SDK was subsumed into the Windows SDK – which meant finding  just the PowerShell stuff was challenging. I saw any number of complaints around this in the newsgroups etc.

Well –the PowerShell team have just released the Version 2.0 SDK – as an independent (and small at 2.4mb!) SDK. The SDK contains the reference assemblies and 45 samples that help you to better understand how to use PowerShell. There appears to be no documentation (and the installation process doesn’t seem to add in any shortcuts or start menu items.

More holiday reading!

OCS R2 Training Materials

Earlier this year, Microsoft released an OCS R2 learning Portal – you can find this at:  http://www.microsoft.com/learning/ocs2007/r2/default.mspx. It contains some training resources for OCS R2. However, the page is both out of date, and is short on links. I have some more details to add to this page:

  • As noted, the OCS R2 Resource Kit is available. This is a must have book!  The book is excellent, but it appears rushed and needed a better technical editing. Hopefully that will happen in the next release of the book!
  • The Portal discusses the OCS 2007 R2 exam. The exam number is the same exam number as for the RTM exam, although the contents have been updated to reflect the new features in R2. If you have already passed the earlier RTM exam there’s no need to re-sit it. There is also a voice exam,but it’s not listed in the OCS Learning Portal (yet).
  • The portal describes the training available for OCS (on a linked page). This page  lists 5177/8/9 (and clinic 6447A) which was RTM courseware (and fairly poor) and should probably be avoided. An updated version of the official courseware, released as CWL course 50214, was released, but the quality was so poor it has been withdrawn until remediation can be completed and properly tested. When this updated course is available, I’ll post here! I am anxious to see the updated courseware. The updated labs look good.
  • The portal also lists the OCS Ignite course (50024A), but this material is both RTM only and not being run very often (although I can certainly offer it if clients really want it). A much better course is the OCS 2007 R2 Ignite content – course 50232A. This focuses on the R2 release, although it can be used to teach new to product folks. I teach this a lot and love it – but beware trying to do it in 3 days. With the right instructor, this course can easily fill 4 days and 5 (if the delegates are new to OCS). The labs are great too.
  • Finally, the page does not mention the updated Voice Ignite workshop. Voice Ignite for OCS 2007 R2 has bee been created and is available.
  • Note that all the courseware discussed here is Courseware Library content, content authored by a 3rd party with MS just acting as a reseller. Quality of CWL material has been variable, but MSL and the UC team are ensuring that all the courseware is good and fit for purpose. So you can book this training with confidence that the material is good.

OCS 2007 R2 is now in the field and customers should start to evaluate it for your organisation. If you have not yet deployed OCS at all, R2 is a natural next step. A new version of OCS, OCS “wave 14’ will be going into beta some time in the new year and is scheduled for release later in 2010 – dates are not yet firm on either the beta or RTM. Once I get more information, I’ll post it here.

OCS is a rich and complex application – if you are planning on deploying it, you could usefully do with some training. But before booking on the course, make sure you get a good trainer – someone who has been working with the product for a while and can explain the product and it’s values and can dive deep into deployment, configuration and support. Investing in some training would be a good thing!

Technorati Tags:

Tuesday, December 22, 2009

Office Communications Server 2007 Virtualisation Support

Earlier this year, Microsoft confirmed that it would now support OCS 2007 in a virtualised environment. This has been a big ask by clients pretty much ever since OCS was launched. Just about every time I’ve taught OCS in the past couple of years, as well as in the OCS newsgroups, the question of why it’s not supported comes up over and over again. Along with anecdotal evidence that it worked in at least a VMware ESX environment. And in the classroom, we see OCS working (well as least the server components) just fine.
The support Microsoft is providing caters for OCS server roles running in VMs hosted on both a single server (a typical classroom scenario) or hosted on a number of servers (a scenario more likely in corporate deployment). Support is limited to a subset of OCS Server roles, i.e. Front-End Servers, Back-End SQL Server 2008 (64-bit), Group Chat Channel Servers, Group Chat Channel and Compliance Servers, and Access Edge Servers. This means no support of other server roles - Microsoft say these roles are not supported due to “possible quality issues” with real time media.
It took MS a while after R2 was released to support this - I understand that part of the delay in announcing full support was testing. MS always wants (needs!) to test anything it offers to support, and OCS is no different. In announcing VM support, MS has tested a fully distributed topology with 40,000 users and 10,000 group chat users. This means, says Microsoft that: “audio/video/web conferencing servers, audio/video/web edge conferencing servers, dial-in conferencing, Communicator Web Access, enterprise voice, or Remote Call Control may not be deployed as part of the virtualized pool.” The impact of this means that you can not (at least in a supported fashion) virtualise a Standard Edition pool (or for that matter an EE consolidated pool), a consolidated edge server or a CWA server.
Microsoft also published an interesting whitepaper detailing the tested architecture. The white paper also looks at OCS performance and how you can use the Capacity Planning Tool.
This is a great move forward but it comes with some strings. Namely, the roles that are supported only work in an administratively complex environment. Or to put it another way, all the easy installations of OCS (SE, consolidated EE pool, consolidated edge) can not be virtualised in a supported way. And since, with R2, Microsoft has de-emphasised the distributed architecture, to deploy OCS in a virtualised environment, you would need to use the command line tools which makes the deployment potentially more work. I am hoping we’ll see a better story with the next wave of product.

Monday, December 21, 2009

Office Communications Server 2007 R2 Ignite

I’ve been running a lot of OCS training over the years – and Office Communications Server 2007 R2 Ignite is one cool course! I’ve taught this several times around EMEA and find it to be well received.I will be teaching it again this week coming. The technical level as advertised is also pretty correct – although one can go deeper as needed!

The content is OCS 2007 R2 focused, with fairly limited marketing fluff! The labs are rich and complex – and the troubleshooting opportunities abound. In my view, this is a 4  day class – especially given the richness of the labs. AND – if you are new to product, it can be a great 5 day class with the right instructor.

 

Technorati Tags:

Sunday, December 20, 2009

Some Thoughts on the Microsoft Certified Learning Consultant Programme

I was in New Orleans over the summer of 2009 at the WPC Microsoft Partner Conference. At the conference, I got to ask Microsoft Learning’s leaders what was up with the Certified Learning Consultant Programme. This programme was launched with much fanfare a few years ago, and I was asked to sit on the MCLC Review Board. The Review Board reviewed MCLC applications and failed or passed them. For the first few years, there was quite a lot of work. Of course, this always seemed to co-incide with other work related complications – but such is life.

I enjoyed the opportunity to look at the applications, but frankly was quite disappointed in many.  All too often, the application form was filled in such that information was just plain missing. One simple example I cited was the request for 100 words about project – and to me that means round about 100 words. I’d be happy if the word count was anywhere between 85 and 115 – and a bit longer if there was anything particularly complicated. But an entry of 43 and 252 words do not make it to 100. But there were some good applications from folks that clearly demonstrated their abilities. It was a pleasure to approve their application.

I like the idea behind the MCLC certificate and the current application process. An MCLC basically reviews the current competency level of a group of people, typically some sort of project team, to determine the gaps in their skills. The MCLC then designs and rolls out a training plan designed to address the key skill gaps and to achieve some soft of return on investment. During the roll out, the MCLC is expected to look at how the training is going and adjust accordingly. Finally, the MCLC needs to analyse the results and ensure that the ROI has been achieved (or not). A hurdle in some cases was that the candidate was required to have the client acknowledge the ROI achievement in writing.

One example was where the MCLC was working with a technical support team about what is required to support the next version of Windows and Office and Exchange in their organisation. The MCLC looked at all the available Microsoft learning products as well as other non-Microsoft products to determine what would be best for that team. This included some in-class work, remote labs, e-learning and some other reading. During the execution of the programme issues, such as redundant modules in the training, or difficulties with attendance at events, etc would be looked at and the programme adjusted to meet reality!

The issue of ROI on the training was one that confused a lot of us – both candidates and review board members. Initially, I understood ROI to be in terms of pounds/euros/dollars. I was never very comfortable about this and was constantly reminded of the annecdote about an accountant. When asked what two plus two should equal, gave the reply: whatever you need it to be. But then I saw a number of really good projects that had non-dollar amounts cited as ROI.

The key point was, for me at least, that if you can’t measure it, it’s not important. Leading from that, basing ROI on less tangible things was OK – as long as it was measured and either the measurement “improved” or there was a good explanation why not.

In the case of the company I noted above was that the project was performed to train a company’s small IT group. That company was in the process of doing a major corporate restructuring deal and really wanted to keep the IT group as a whole. The company had unique home grown applications that needed the trained staff currently in post. So the ROI measurement was based simply on staff satisfaction and their likelihood to want to leave. Each employee was sent a questionnaire and had an interview with their employer and the MCLC before and after the training. And the satisfaction levels measured. A very interesting project. I suspect that one could have put some dollar amounts into some equation and “measure” it in cash terms. But I liked the simplicity of it – and it was something that could be (and was) measured.

But I thought this programme was dead – and hence asked the question at WPC. Turns out the programme still lives. I understand some consideration was given to closing the programme down, but thankfully the axe has been spared. The question now is how to breathe some life back into it.

Some years ago, I gave a talk at a MSL event around how to prepare a successful MCLC application. If there’s any real interest, I’ll ask MSL to organise a Live Meeting and repeat the talk. If you are interested – then mail your MSL contact(s). Or post a comment here. I’d love to hear of any enthusiasm from the community around this programme.

Saturday, December 19, 2009

PowerShell’s Popularity and Search Engines

I was searching for some information on how to add custom menus to PowerShell ISE. I’d been meaning to play around with this for a while and had some time last night. So I went searching and came across what looked at first sight to be the perfect answer: a blog post by Jeffrey Snover entitled My PowerShell_ISE Profile. It did just want I wanted – so I added to my ISE profile and restarted ISE. WHOOPS – there were some really weird errors.

To make a long story short, PowerShell changed post CTP3 – in this case the $psISE.CustomMenu.Submenus.Add calls at the bottom of Jeffrey’s post no longer work. After tweeing my confusion, I got pointed to: http://powershellers.blogspot.com/2009/05/what-happened-to-custommenu-property.html which resolved the issue for me. Sadly, that page had not come up at all in the searching I’d done. While it’s not the point of this post, here’s the erroneous and corrected lines of Jeffrey’s script:

At the end of his script, the lines:

$null = $psISE.CustomMenu.Submenus.Add("Edit Selected", {Edit-Selected}, 'Ctrl+E')
$null = $psISE.CustomMenu.Submenus.Add("Export Session Files", {Export-SessionFiles}, 'Ctrl+SHIFT+E')
$null = $psISE.CustomMenu.Submenus.Add("Import Session Files", {Import-SessionFiles}, 'Ctrl+SHIFT+I')

Should read:

$null = $psISE.CurrentPowerShellTab.AddOnsMenu.submenus.Add("Edit Selected",{edit-selected}, 'Ctrl+E')
$null = $psISE.CurrentPowerShellTab.AddOnsMenu.submenus.Add("Export Session Files", {Export-SessionFiles}, 'Ctrl+Alt+E')
$null = $psISE.CurrentPowerShellTab.AddOnsMenu.submenus.Add("Import Session Files", {Import-SessionFiles}, 'Ctrl+Alt+I')

But that’s not the real problem – and I sure do not want to criticise the PowerShell Team! The problem is wider than this one post.The problem is that there’s been so much blog and web traffic around PowerShell that the Search Engines are promoting old content. For example: try searching for “PowerShell V2 dowload” – On Google the first three hits return links to Pre-RTM downloads. Bing is no better at present!

I think the solution is twofold. To some degree, the issue will tend to go away – as new content is created, indexed, referenced and used, the search engines will ‘learn’ the new content and ‘forget’ the older stuff. So let’s get going and start pointing to the updated key content! At the same time, it’ll be useful for bloggers to update their older content – either dropping it totally, or updating the content somehow. I’ll do what I can on that front!

In some respects, it’s a nice problem and one almost worth having! The search engines are just a reflection of the creators and consumers of content – if PowerShell wasn’t so popular, the links would be even worse!

Technorati Tags: ,

Friday, December 18, 2009

PowerShell For Visio

I was looking tonight for add-ins for PowerShell, and I came across a pretty neat tool: PowerShell for Visio. This is a free tool that provides a visual designer for PowerShell. This is a small free download for Visio 2007 – so far as I know, it’s not supported yet on Visio 2010. The download comes with source code, which is a nice touch.

After installation, you’ll find some new PowerShell Templates included:

image

 

You select a template then create a workflow using the template. Here’s a really simple example

 

image

Then look at the tab and you’ll see a script:

image

It’s pretty limited, but a great start. What would be really cool is if this tool wsa taken to the max and included (with FULL support for all of PowerShell) into Visual Studio.

Technorati Tags: ,

Saturday, December 05, 2009

Yet another Microsoft MCT Courseware Download Site Outage

As a Microsoft Certified Trainer, I am able to download courseware – both for study purposes and for the courses I deliver. Sadly, the site has been somewhat less than perfect of late. The latest incident is today: I simply can’t get to it at all:

image

Now another great benefit is the Regional Support centre. There’s a nice web form for reporting errors. But when I do, I get a canned reply, typically 2 days later, saying “we need a screen shot” – and without screen shots they just close the case. If a screen shot is needed, then why don’t a) they say so and b) provide me a mechanism to input it when I report the latest issue. I suppose this is more proof, as if it was needed, of MS’s internal/outsourced support being sub-optimal.

This is not the first time this site has failed – it’s doing it best to emulate a yo-yo. As a paying customer (MCTs have to pay for the privilege), I find these continuing issues to be unacceptable. Having complained privately, things just seem to get worse. It looks lik the only way to get this fixed is to go public. I will include the link to this blog post in the report to the support centre. I await their response.

If you have problems with this site, please post a comment here!

[Later] The problem resolved itself. After a couple of reboots, I tried again and it worked fine. I got a call 2 days later from the RSC saying they could not reproduce the issue.

Google DNS

Last week,  Google announced a new service, Google DNS. The idea is simple – instead of using your own, or your ISPs DNS, you use theirs. Most readers of this blog will know what DNS is, why it’s really important and how to configure and manage it, at least I sure hope so! But that leaves a great percentage of the Internet-using population who both don’t know and  probably don’t care as it all just works.

The idea of an independent DNS network is not new. Several years ago, I wrote about the ORSN, the European Open Root Server Network. I sometimes set systems up to use it, but like most folks, the DNS that most of I use is a part of the huge distributed network that comes as part of the Internet. Personally, I have my own internal DNS server which serves as a resolver for the  systems in my network, as well as hosting the records for my AD domain.

The Google DNS service is just a resolving DNS cache – they host no zones  (other than Google’s own zones) and they do not host any root domains. They just resolve the names you send it, and cache those results for others to use. Google say their goal is “to benefit users worldwide while also helping the tens of thousands of DNS resolvers improve their services, ultimately making the web faster for everyone.” A laudable goal, but is it actually a useful service. On Google’s code blog, they cite three main advantages: Speed, Security and Validity. I’ve spent some this morning looking at the speed claim.

Google DNS is hosted at several servers. In their configuration instructions, they :there are two servers (at 8.8.8.8 and at 8.8.8.4), although another document shows 5 servers (ns[1-4].google.com). I have been doing some testing, using PathPing.Exe this morning to look at performance. Access to these servers from the UK (where this article is being written) is quick and has no packet loss. The path to the servers goes first via my ISP to Google-Lon.Google.Com and then via a few un-named routers to the DNS server. The RTT to 8.8.8.8 was 38 ms.

I then ran a PathPing against my own ISP’s DNS server and another DNS Server run by Demon Internet. For both UK servers, I see a shorter route (10 hops vs 12) – not surprising as these servers are in the UK, and Google’s I suspect are not.I also see a faster path (31 ms to Demon, 28 to Clara.Net vs 38 to Google). Packet loss to both UK servers is also zero although the route to Demon’s name server goes via  tele-service-22-s267.router.demon.net which drops 100% of the ICMP packets (no such issue to Clara.Net. So on path grounds, using Google does not seem to provide much benefit as it’s slower and has more hops.

As for security, Google makes the valid point that DNS is vulnerable to attach – it can be spoofed routing users to malicious sites rather than the intended site. The DNSSEC protocol is meant to attack that problem through cryptography, but DNSSEC is not yet in widespread use (and is a lot more work to setup). I’m not sure I entirely buy the argument that they are any better at protecting DNS than my ISP. We’ll have to see.

The validity advantage that Google cites seems even less interesting. They say their DNS servers comply with DNS Standards. Well I’d sure hope so – a non-standards compliant DNS server would be a bit a a waste of time. They also avoid blocking, filtering or redirection. Doing some testing using NSLookup, it looks like they don’t do wildcard DNS – thus trying to resolve (hopefully!) non-existent domains gives teh expected error. I tried resolving x.microsoft.com and foo.foo.foo – both queries were “refused” since ns1.google.net could not find those domains.

All in all, this looks to be a reasonably fast and competent DNS solution. For many users, using this might benefit their web surfing. For me, it looks a tad slower – so ‘buyer’ beware. As for the security argument, I accept they intend to make their service secure, but experience will show whether this is a good argument, or not.

Technorati Tags: ,,,

Saturday, November 28, 2009

PowerShell Plus 3.1 Beta

With PowerShell V2 now released, those nice folks over at Idera have released a Beta of their upcoming 3.1 version of this popular PowerShell tool. You can see more information, and snag a copy of the beta, over at the PowerShell.Com site!

Personally, I like PowerShell Plus and use it a lot so I was keen to see the beta. You can take a look at some of the new features in a post by the Product Manager Richard GIlles also over on the PowerShell.Com site. Naturally, once you install the beta, there’s a readme file with more information.

One neat thing – there’s now a 64-bit version which installs neatly in a side-by-side fashion with the released version. There’s also some nice script sharing features which encourages further the PowerShell community.

I’ve got the beta downloaded and am using it – I look forward to the release!

Wednesday, November 18, 2009

PowerShell – WMI presentation tonight

The things I agree to do…

A good MVP buddy of mine, Joel 'Jaykul' Bennett has asked me to speak tonight to the Upstate New York PowerShell user group. The title of the talk is WMI and  PowerShell. I’m aiming at the basics but will go into a bit of detail. Plus there’s demos. If you want to join into the Live Meeting, here’s the url: ">https://www.livemeeting.com/cc/mvp/join?id=UPNYPUG&role=attend

However, I’m not planning on starting till 11:30 PM (23:30) UK time – which is thankfully earlier for the audience in New York.

Hope to see you there…

[later]

Yes – I will post my slides and demos tomorrow…

Technorati Tags: ,,

Thursday, November 12, 2009

PowerGui.Org’s PowerPack Challenge – Closing Sooon

PowerGUI.org is holding the PowerPack Challenge contest. Basically,  the idea is that you create a PowerGUI add-on (admin console for a particular platform you manage based on PowerShell cmdlets/scrips), and then submit it to the site. By entering the contest, you can win one of the prizes (the top prizes are $1000 in Amazon certificates). This is easy and the site has tutorials on how to do this.

The contest will run for 3 more days, i.e. until the end of Nov 15 2009. You can get full details at PowerGUI.Org. Get coding and best of luck!

Technorati Tags: ,

Friday, November 06, 2009

Leaving Global Knowledge for Pastures New

Many of you will already know this, but I am shortly leaving Global Knowledge. After 3+ years of working for GK’s EMEA group, I have been made redundant and will be out of the company by the end of November or thereabouts. The redundancy process is swift, and pretty brutal – but that’s the nature of the beast. Global Knowledge are treating me pretty well, under the circumstances for which I am genuinely grateful.

In the short term, I’m going back to contracting – doing training, consultancy, or whatever turns up. I would hope to get enough work to tide me over until I can figure out the longer term plan. I am favouring returning to full time employment but we’ll see what happens over the next few months. I’ve already had some brilliant leads, which are great, so things are not totally bleak. I also have a lot of really good friends in the industry who are lending a helping hand. I could not ask for more.

It’s a sad day, on one hand, but a great opportunity on the other. From the people I’ve spoken to, the broad consensus is that I’ll make out just fine. I just hope those voices are right.

Monday, November 02, 2009

Disk to VHD – Another Cool Tool from the Sysinternals Guys

Mark Russinovich and Bryce Cogswell have released yet another cool tool – Disk2VHD (version 1.21) which you can download from here. As it turns out, I’m looking to convert one of my physical boxes to a VM – I use the system rarely but don’t want to chuck it. This tool would be just the business – I could easily run a VM of this system on my laptop when I actually need it. 

The VHD that this tool creates can be used as a VM for either Microsoft Virtual PC or Hyper-V. One important limitation – with Virtual PC, the largest volume is 127GB. And the tool is command line – but you could of course, run it from PowerShell!

Technorati Tags: ,,

OCS 2007 R2 Documentation

If you are working with Microsoft’s Office Communications Server 2007 product, you may know about the great documentation produced by the product team. This documentation has been updated to cover the R2 release that hit the streets earlier this year.

There are three ways you can get the documentation:

  • A single CHM file with all the other documents as a single file
  • A zip file containing all the other documents as Word docs
  • Individual Word documents.

Navigate to http://tinyurl.com/ocsdoc and  you can get all three of these formats!

If you get the .CHM file, you will need to remove the protection from the file (use Systinternal’s streams.exe) in order to see the contents. From the .CHM file, you can also send the writers email. They are highly responsive and are happy to incorporate any and all good ideas. This is a great job guys!

Technorati Tags: ,,

250,000 Visitors To This Blog!

I started this blog in May 2003. Just over 5 years ago, I added a traffic counter, and started keeping more detailed traffic counts. Over the weekend, the hit count got to 250,000 – or a quarter of a million visitors! Not as much traffic as some blogs get, but it’s been nice to see the traffic grow here. I am certainly pleased at the slow and steady readership growth.

Looking at my stats today, they sown an average of 377 visitors a day and 504 unique page hits a day. Traffic in October hit an all time record with over 10,00 visits (and over 13,000 page hits). Wow!

For long time visitors – thanks for reading this blog. And for new visitors – welcome and let me know what else I can post here that would keep you visiting.

Sunday, November 01, 2009

Connecting OCS To Other PIC Suppliers

Office Communications Server 2007 implements a feature called Public Internet Connectivity (PIC). Basically, PIC enables you to federate with AOL, Yahoo and MSN/Live Messenger. Thus a user using an AOL IM client can connect and use IM with someone inside your organisation. PIC was cool, but was limited to just the three suppliers (i.e. no Google Talk) and it was licensed separately.

In the past month Microsoft has released some important news. First, PIC licensing has changed. Secondly, Microsoft has announced the release of an XMPP Gateway which facilitates present and IM interoperability between OCS and both Jabber (now owned by Cisco) and Google’s Google Talk.

There are some key PIC Licensing changes. The additional PIC license will not longer be required for federation with AOL. Federation with AOL is free for customers with OCS R2 Standard CAL, or Software Assurance on their current OCS license. But if you wish to federate with Yahoo, you continue to need a PIC license, but the cost of this drops by 50% (effective 1 October 2009). Additionally, as from June 2009, you no longer need a PIC license to federate wit Windows Live (same requirements as noted above for AOL federation).

The release of an OCS 2007 XMPP Gateway means you can federate with both Google’s Google Talk, and with Jabber. And the licensing calls the gateway “Additional Software” meaning there is no additional Microsoft licensing costs associated with you deploying the Gateway.

The OCS Team have published a couple of articles to explain how to get the XMPP gateway up and running. The first blog post discusses Configuring XMPP connectivity to Google Talk. The second blog post looks at how to configure the XMPP Gateway with Jabber XCP 5.4. Both articles are detailed and well illustrated.

For OCS 2007 R2 users, PIC connectivity got a whole lot better!

What Happened To The Post Counts on the MSDN and TechNet Wikis?

I’m a fairly heavy contributor to the MSDN and TechNet Wikis - also known as MSDN and TechNet Community Content. I started posting there pretty much ever since Microsoft setup this feature a couple of years ago. My contribution has included over 10,000 posts (just over 7500 to MSDN and over 2800 to TechNet). I wrote about the MSDN wiki in August.

I do not know if it’s a short term glitch or a more major change – but the post counts have been updated in a significantly downward fashion. TechNet shows just 1297 posts, while on MSDN just 3927) – thus I’ve lost around half my post count. At the time I wrote the august post, I had over 6500 posts credited, but now it’s a LOT lower.

MSDN/TechNet: what’s happened??

Wednesday, October 21, 2009

MSDN Has A New Look and Feel

I spend time on the MDSN Site, particularly the MSDN Library sub-site where I’ve added a few PowerShell scripts as well as editing the content that is added. Just recently, the site has had a bit of a make over. The “MSDN-RED” logo is replaced wiht a more stylish blue colour, along with the opportunity to change your view of the site.

From FireFox, I have a new pop up at the bottom right hand corner of my browser window:

image

The “old” view, Classic is what you are used to, although with new colours. It is the view I will use going forward. Lightweight beta provides what it says, a much more lightweight feel. ScriptFree is even nicer (IMHO) to look at.  And being smaller pages, download times are much snappier.

But what both these two new views omit is all the community contnet (i.e. Community Content) as contained in Classic View. From the Script page, community added page tags are R/O, and there appears to be no way to see or edit Community Content (from both LightWeight and Script Free skins). And the big orange Switch View button from Classic view is pretty ugly and distracting – worse, there appears to be no way to tell it: I’m happy with what I see and please go away.  Or at least a more subtle control perhaps in the title bars like in the other views.

For casual users, or those on lightweight (aka celluar) networks, it’s a nice touch. Shame about losing the community content.

Wednesday, October 07, 2009

Ensuring PowerShell Is Loaded Onto a System

I saw a cool tip over at PowerShell.com for working out if PowerShell is available on a system. This tip points out that if PowerShell is installed on a machine, then the registry key HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\PowerShell\1 will exist and will contain key configuration information.

From my main workstation, I see:

PSH [C:\]: cd hklm:\\SOFTWARE\MICROSOFT\PowerShell\1\
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\PowerShell\1
PSH [HKLM:\SOFTWARE\MICROSOFT\PowerShell\1]: ls

    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\PowerShell\1

SKC  VC Name                           Property
---  -- ----                           --------
  0   1 1033                           {Install}
  0   6 PowerShellEngine               {ApplicationBase, ConsoleHostAssemblyName,PowerShellVersion,
                                        RuntimeVersion...}
  3   0 PowerShellSnapIns              {}
  1   1 PSConfigurationProviders       {(default)}
  1   0 ShellIds                       {}

PSH [HKLM:\SOFTWARE\MICROSOFT\PowerShell\1]: ls .\PowerShellSnapIns

    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\PowerShell\1\PowerShellSnapIns

SKC  VC Name                           Property
---  -- ----                           --------
  0   7 PowerGUI                       {Version, PowerShellVersion, AssemblyName,ApplicationBase...}
  0   9 Pscx                           {PowerShellVersion, Vendor, Description, Version...}
  0  11 Quest.ActiveRoles.ADManagement {AssemblyName, Description, ModuleName, PowerShellVersion...}

This is pretty cool. And looking at the PowerShellSnapIns – this information is useful for managing snap-ins on clients and servers. You could test the existence of this Registry key as follows:

PSH [C:\foo]: Test-Path hklm:\SOFTWARE\MICROSOFT\PowerShell\1
True
PSH [C:\foo]: $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.3074
BuildVersion                   6.1.6949.0
PSVersion                      2.0
PSCompatibleVersions           {1.0, 2.0}

But testing the existance of this registry path from within PowerShell is somewhat meaningless. If PowerShell exists on a given system, then the key will exist so the test will of course succeed. But if PowerShell does NOT exist, you’d never be able to run the script in the first place so being able to test from within the PowerShell script is unhelpful. I suppose you could write a C# program or a VBScript script to do the detection.

But wouldn’t a better way be to just get PowerShell deployed? I’d base the wide deployment to down level systems on the RTM version of The Windows Management Framework. The WMF Release Candidate was posted to the web on Aug 13th, so is getting very close to release. I do not have any specific knowledge, but given past experience by the PowerShell team, I’e expect to see this by the end of the year, maybe at TechEd Berlin.

Technorati Tags:

Tuesday, September 08, 2009

Sharkfest 2009 – The videos

I’m setting up a few new machines, and needed to check out some networking issues – so I went off to Wireshark.Org to download a copy when I discovered a treasure trove of videos and slides from the recent SharkFest conference held in June in Palo Alto.  It sounds like it was an interesting conference – the videos I’ve watched look OK.

Technorati Tags: