Thursday, July 10, 2014

I’ve been sitting in the garden, my Windows phone in my pocket, and browsing the web on my Surface RT. where I read with great interest Satya Nadella’s recent mail to Microsoft Employees. Microsoft kindly posted this email this morning at http://www.microsoft.com/en-us/news/ceo/index.html. Not only a smart move making the email before Mary Jo managed to get a leaked copy, but the contents are very exciting.

I opined a bit over a year ago that Microsoft needed new management. A view that did me no favors in parts of Redmond. The whole devices, phones and games vs. Azure vs. the ‘what keeps Microsoft afloat (Windows, Office, SQL, Exchange, Lync)’ was simply confusing. And the Cone Of Silence imposed by folks no longer at Microsoft was leading to a very closed culture which IMHO was not helpful for the customer.

But things have changed and that Cone of Silence seems to be a thing of the past. Jeffrey Snover noted at TechEd, The PowerShell team at least is back to working in Internet time as two new exciting builds of PowerShell V5 the team pumped out this year so far.

In July last year, Steve Ballmer set out a new direction, devices and services. That there was a new direction was a really good thing, as was Microsoft’s overarching goal of One Microsoft. And his departure and replacement with Satya was another major change. To me, he’s more than just a safe pair of hands!

But there was still confusion – why lead with the two areas Microsoft has been weak with (consider the relative success of Zune, Kin, Surface RT, BPOS, to name but a few) when the cash cows and technological leaders (Windows and Office) were put in a distant second place. Satya notes that the ‘devices and services’ description was useful as a start, there is a need to hone on on a more detailed strategy (which is not so devices and services focused).

Today’s mail calls Microsoft ‘the productivity and platform company for the mobile-first and cloud-first world.’ To me this makes a log of sense and eliminates some of the confusion. It puts the platform in it’s place as just that, a platform. A platform to empower productivity. This approach seems to me to make a lot of sense. But as ever the devil is in the detail – Satya notes there is quite a lot of work to be done that will require nothing less than a complete transformation of Microsoft the company. That is a tall order, but the strategy sure seems sound.

The email also talks about the ‘Device OS.’ Which one is that going to be will be an interesting question for resolution. I personally love my Surface 1 RT. I use it daily as a device for consumption of content and some limited creation. Then there’s the Phone OS (I have Windows Phone 8.) It, too, has it’s moments. Finally, there is the traditional Windows as running on the Surface Pro and higher pc/server SKUs running on higher performance hardware. My use of traditional Windows is limited to my desktop and laptop, where I can type a whole lot faster than on the phone (and arguably more accurately). I think we have some interesting changes to the core product roadmap and I am looking forward to that being shared.

Microsoft is changing, and in a good way. The next couple of years is going to be very interesting. The Chinese curse: may you live in interesting times seems to have come home to roost! I look forward to the coming year.

Monday, July 07, 2014

What is A PowerShell PowerCamp?PowerCamp is a fast paced weekend training event that covers all the basic aspects of Windows PowerShell v5 - from the command line to writing production-oriented scripts and leveraging work flow and desired state configuration. We start with the basics including configuration, formatting and providers and remoting and jobs. Then, on day 2, we look at scripting, work flows, managing script libraries using modules, WMI/CIM, using objects, and PowerShell in Windows. The event concludes with a look at the new Desired State Configuration feature in PowerShell 4 and 5.
The PowerCamp event is a combination of lecture, demonstrations plus Q&A, with the opportunity to type along with the tutor. There are no formal labs. But I do provide the key demos, all the slides, plus a wealth of other add on material on a memory stick you get at the start of day 1. So bring along your laptop, and type away.What is the Agenda?The event happens over the Weekend of October 18th and 19th. We start each day promptly at 9:00 and finish no later than 17:00. Day 1 – The Basics

PowerShell Fundamentals – starting with the key elements of PowerShell (Cmdlets, Objects and the Pipeline) plus installation, setup, and profiles

What’s new in v5 – this looks at the things specifically added into PowerShell v5.

Formatting – how to format output nicely – both by default and using hash tables and display XML

Using .Net, COM, WMI and CIM objects – working with various kinds of objects

PowerShell in Windows – a look at what’s there and how you can leverage the huge number of cmdlets

PowerShell Desired State Configuration – this final module looks at PowerShell’s Desired State Configuration tool and what you can do with it.

What does it cost?The cost is £200 (+VAT at the prevailing rate) for the weekend. Meals and accommodation are not covered.Where is the event going to take place?The PowerShell PowerCamp is being held at Microsoft Cardinal Place, 100 Victoria Street in Victoria. We will hold it on the weekend of October 18/19 2014. Each day starts promptly at 09:00 and finishes up by 16:45. We’ll also take short break throughout the day, including a 1-hour lunch breakPowerDrinks? After Saturday’s session, attendees are invited to a small nearby public house for some lovely English ale and networking with each other!Who is the tutor?The PowerShell Weekend PowerCamp is delivered by Thomas Lee. Thomas has been involved in the PowerShell community since the very beginning. He provides training and consultancy around a range of Microsoft products, with a recent focus on PowerShell and Lync Server. Thomas runs PowerShell training courses around the world, and has been a speaker at conferences across the world for the past decade. In his spare time, he lives with his wife, daughter, wine cellar, and Grateful Dead live recordings archive in a small cottage in the English countryside. His Twitter handle is @DoctorDNS and he maintains two blogs (Under the Stairs at http://tfl09.blogspot.com and PowerShell Scripts Blog at http://pshscripts.blogspot.com).What do I need to bring?You need to bring a laptop with PowerShell v5 loaded. That can be either native or in a virtual machine. I suggest you have at least two VMs pre-configured – one a server 2012 R2 installation the other a Windows 8 ,1installation. The virtualisation software is not of concern – but you need 64-bit guest OS support for Server 2012! Thus you can use Hyper-V, VMware Workstation or Oracle’s Virtual Box. Heck, run it in a VM on a Mac or Linux PC if you want. Just bring along PowerShell v3/4/5 (preferably V5!).How do I book?Contact DoctorDNS@Gmail.com to book a place and to arrange for the invoice to be paid. Payment must be in cash, cheque or bank transfer – I don’t take credit cards.More DetailsWatch this blog for any hot breaking news on the event.

Tuesday, July 01, 2014

I hit a recent issue using the ISE and trying to use the updated version of James Brundage’s ISEPackv2 module – a keyboard shortcut used in James’s module has been taken by a later version of PowerShell. Not the end of the world and easily remedied (heck, I have the code!). I was playing around with keyboard shortcuts and wrote a little function that, when run inside the ISE, gets the keyboard shortcuts that are set.
I’ve published the Get-ISEShortcut over on my PowerShell scripts blog, but the core of function is these lines of code:

This code gets the GUI related resource strings held by the ISE and then weeds out all but he keyboard shortcuts. In the published script, I sort them to get a more effective list. On my system, I get the following: