Sunday, March 20, 2011

London PowerCamp is Over – Roll on York

The 2-day PowerShell Power camp is over. The room’s empty and I’ve left the house (and I am home!). A very long two days, but very productive, at least as far as I can tell! Twelve folks took the challenge to give a weekend and jump into the fast flowing fire hose - and made it all the way through. The PowerCamp was promoted via social media – unlike traditional training. The delegates all self-selected and learned about the event via Twitter, Facebook, etc. There were no corporate clients telling their employees to attend. And there was no vendor paying for the class. The delegates all had to give up a weekend – which is always a real challenge these days. So well done group for making it through the weekend!

The objective was to cover as much of PowerShell as possible in 2 days. And we covered a lot!! We had a special guest today, super-star James O’Neill who did a fantastic job augmenting my solo performance discussing not only his most excellent PowerShell module for Hyper-V, but also sharing what he has learned about PowerShell as a result. In some areas we may not agree – the disagreements make great food for thought. Personally, I really enjoyed the session and I am pretty sure all the delegates did too. Those of you attending the PowerShell deep dive in Las Vegas will be delighted with James’s talk there!

This style of training is not for everyone. There are people who learn better by lots of hands on – they need the structure of formal labs and time to play (which in turn requires powerful PCs, plus the setup time and effort necessary). But many experienced IT Pros can learn by listening and watching (and of course developers can to this too although this was not a developer focused event). They learn enough to move them on to the next level and gain the motivation them to do so. They also learn about the excellent PowerShell community and how to take advantage of it. The outstanding qualities of the PowerShell community never ceases to amaze me.

Ultimately, mastering any subject takes practice and that practice has to be on the job. But in two days we covered enough for the delegates to know and see the potential of PowerShell, learn enough of the syntax to move beyond the minutiae of the PowerShell language, and most important, for them to get more excited about PowerShell. One delegate came with a problem he hoped to solve – he goes away (well hopefully!!) knowing the problem is solvable and broadly how to do it. Another spent all of last evening working through the things we covered, and I suspect will do the same tonight.

This training also does not eat into the revenue of my training company clients. Folks that self select and pay a modest amount for 2 days of weekend training are highly unlikely to pay to come on a 5 day 'official’ training course. ALL the delegates this weekend had day jobs that probably precluded them taking that much time off. Neither were they going to pay the ‘official course’ price (and the expenses involved). And the income amounts were sufficiently small that most big training company sales folks would just not bother with pushing (their commission against the low rates I charged just doesn’t make sense). I sure get that.

One cool thing, those very very nice people from Idera and Quest were kind enough to let me give away copies of their PowerShell software. The delegates really appreciated the very kind offer – so a dozen more PowerGui Pro and PowerShell plus users!!!

But at the end of the day, we have a dozen folks who leave with a much greater enthusiasm for PowerShell, equipped to learn more on their own and excited about the potential for PowerShell in their jobs. What a result! It really makes all the work involved worth it.

I’ve now got a couple of days off before heading up to York to do another PowerCamp. There’s still room, if you want to attend. So come along, bring your thoughts, problems, concerns along and I’ll do what I can to make you as excited as this weekend’s group was! York is very central to a lot of key Northern cities, and the transport to/from the event is pretty easy. We’re out to the east of York city at the wonderful University of York. I know it’s a lot to ask you to give up a weekend, but why not – you’ll certainly leave knowing a LOT more about PowerShell!!!

Friday, March 18, 2011

It Was The Night Before PowerCamp…

And all through the house,
Not a creature was stirring,
Not even my mouse.

Well – that’s enough corny poetry for tonight. Tomorrow, the 2-day PowerShell PowerCamp hits London. We have a dozen folks booked up for two long days covering PowerShell V2.0 fundamentals (and as much more as I can cram into 2 days).  This two-day mega-jump-start event has gained more traction than I had hoped for. By design, I’ve only publicised it via social media – via Twitter, my blog, and a few other most welcome retweets, plus Microsoft kindly posted a couple of blog entries. I’m not sure I can boast that this is the first ever social media promoted course, or even the first social media promoted PowerShell course. But it is the first I’ve done, and it’s been exciting. For those of you coming – see you there.

What’s more exciting is that we’re taking this to York next week where we have both a great audience already, and room for more. If you’re serious about getting a jump start into PowerShell, come along. Let me know if you’d like to book a place!

Thursday, February 24, 2011

London Weekend PowerShell PowerCamp – March 19-20 2011

What is it?

This fast paced weekend event covers all the key aspects of Windows PowerShell - from the command line and writing production-oriented scripts. We start with the basics including installation and configuration, formatting and providers and remoting. We then look at scripting, managing script libraries using modules, using objects, and finishing with the PowerShell features added into Windows. The event will be all lecture, with the opportunity to type along with the tutor.

What is the Agenda?

Day 1 – The Basics

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

• Discovery – finding your way and learning how to discover more

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

• Remoting – working with remote systems using PowerShell’s remoting capabilities

• Providers – getting into OS data stores via PSProviders

Day 2 – Diving Deeper

• Scripting Concepts – automating everyday tasks including PowerShell’s language constructs, error handling and debugging (both from the command line and using an IDE)

• Modules – managing PowerShell script libraries in the enterprise

• .NET/WMI/COM Objects – working with native objects

• 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

What will 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 will be held at Microsoft Cardinal Place, 100 Victoria Street in Victoria on the weekend of March 19-20, 2010.

Who is the tutor?

The PowerShell Weekend PowerCamp will be delivered by Thomas Lee. Thomas is a veteran PowerShell MVP who 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, and wine cellar in a small cottage in the UK. 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 at least two VMs pre-configured. The first should be a Server 2008 R2 domain controller and the other one a member server. The virtualisation software is not of concern – but you need 64-bit guest OS support. Thus you can use Hyper-V, VMware Workstation or Oracle’s Virtual Box. 

How do I book?

Contact DoctorDNS@Gmail.com to book a place and to arrange for the invoice to be paid. Payment will need to be cash, cheque or bank transfer – I don’t take credit cards.

More Details

Watch Thomas’s blog for any hot breaking news on the event.

Friday, February 18, 2011

PowerShell on my iPhone

I recently got a new iPhone 4 16GB, courtesy of American Express (a long story!) and have been slowly making the transition from my HTC Desire Android (a nice phone) to the iPhone. There are some observations I’ll leave for another day – but let’s just say that the iPhone is not perfect and the Desire/Android is worth competitor.

One neat thing I have found in my search for applications for the new phone is iPowerShell V2, built by Sapien. iPowerShell is neat reference tool for users of Microsoft’s PowerShell, for use on the iPhone or iPod Touch. It contains full descriptions of all the core PowerShell Version 2 cmdlets, their syntax, parameters and examples of proper usage. It also contains the complete set of “about item” help topics as well as provider and alias help.

I’ve not yet found a way to extend it (i.e. to add or modify the contents, but I find it useful to dip into and out of. I particularly like browsing the about_* files using iPowerShell.

Here’s a screen shot of the application:

image

Thursday, February 17, 2011

IPv4 X-Day Arrived–No One Died

At a ceremony held on 3 February, 2011 the Internet Assigned Numbers Authority (IANA) allocated the remaining last five /8s of IPv4 address space to the Regional Internet Registries (RIRs) in accordance with the Global Policy for the Allocation of the Remaining IPv4 Address Space. Each /8 contains a total of 2^24 addresses, although depending on how the /8 blocks get subnetted, the actual amount of usable IPv4 addresses would be lower.

So after 30 years or thereabouts, the free pool of available IPv4 addresses is fully depleted from a global perspective, that is, IANA has no more. The individual RIRs of course still have address block to give out as do individual ISPs. There are companies with /8 block (e.g. HP that has the original DEC 16.0.0.0) that might be persuaded to give some of all of their /8 blocks back either to IANA or a RIR. And there are a lot of companies that have smaller allocations (e.g. /16, /24, etc.) that also might be persuaded. And I’m sure that ISPs and RIRs will start to be a lot more aggressive over smaller allocations. If nothing else, the cost of holding allocations is pretty likely to begin to cost more.

With better use of the now scarce resource that is IPv4 addresses, the Internet will continue to operate just fine for at least the next few years. But the writing is on the wall – IPv6 needs to happen sooner rather than later. I use Xilo as my ISP – and ever since switching to them around a year ago, IPv6 is ‘in testing’. I keep asking, but it’s still in testing.

It’s time for Xilo, and all ISPs, to ramp up and start rolling out IPv6. With the handing over of the last /8 block, IPv6 needs to be here for all of us soon. Of course, it’s not just the ISPs that need to adopt and adapt. The manufacturers of ADSL/Cable modems, Wireless access points, switches, particularly consumer grade devices, need to be upgraded to fully support IPv6.  And there probably needs to be a new protocol to do complete setup for an ISP customer (configuring not only the individual hosts, but also the router itself.  Not sure DHCPv6 is quite enough. A PowerShell module perhaps?

So start asking your ISP, your hardware manufacturer and your corporate IT department: when do you support IPv6? And start learning more about IPv6.

Technorati Tags: ,

Wednesday, February 16, 2011

Weekend PowerShell PowerCamp–York UK

I’ve written (and tweeted) in the past about my weekend PowerShell PowerCamps. Now have two more on the schedule and ready to book. These two will be held in York, at the University of York. A great venue easily accessible from much of the north east (Newcastle down to Leeds), the North West (Manchester and Liverpool) and the north Midlands. And for those farther afield, the organisers will have a great B&B offer, plus we’ll have dinner on the Saturday night in York.

This event will be, as the web site promises, fast paced!  I’ll be covering the basics of PowerShell, from the fundamentals at the command line through to writing production oriented scripts. On the first day, we start with topics including installation and configuration, formatting, providers and PowerShell remoting. On day 2, we look at scripting, modules, a deeper dive into objects and a quick lap around the PowerShell features included in Windows Server 2008 R2.

You should come along with a laptop with either Windows 7 and Server 2008 R2 loaded (in a virtual environment). The virtualisation product you use is irrelevant – you can use VMware, Oracle Virtual Box, Hyper-V, etc. You should, however, have at least two VMs (a DC and a ‘client’) so you can investigate PowerShell features as we cover them in the class. If you don’t have a MSDN or TechNet subscription to get the DVDs for these OSs, you download the trial versions for the class. See here for Windows 7 and see here for Server 2008 R2 X64. I’ll be running Server 2008 R2 with Hyper-V plus a number of VMs to conduct the demos – so be sure to bring along your laptop all setup. We will not be providing computers for you – so please come prepared (and contact me if you have any concerns).

There are two dates currently scheduled in York: 26 March 2011 and 18 June 2010. Both are to be held at the University of York. See the web site for more details of costs and to book.

And for those hoping for more information about PowerCamp in London – watch this space! News should be available this week.

Technorati Tags: ,,

Monday, February 14, 2011

Lync PowerShell Blog–A Challenge For You!

The folks behind the Lync Server 2010 PowerShell blog have another fun wheeze on: The PowerShell Challenge. The idea of this contest is simple: each week, the Blog team present 4 things and you need to figure out which is The Odd One Out (or as they put it, One Of These Things Is Not Like The Others).  You can read up on the rules here.

The PowerShell challenge has been going for a few weeks, and there are still 4 folks with perfect scores (naturally, I am one of those). But you can still join in the fun and compete in this week’s contest. Who knows, the top runners might have a bad week and you could end up winning the competition. But it’s not whether you win or lose – I am finding this contest very useful in helping me to get better familiar with the Cmdlets.

To see a summary of the past challenges (and answers), plus this weeks’ challenge, see: http://blogs.technet.com/b/csps/p/otherschallengearchive.aspx.

 

Wednesday, February 09, 2011

Formatting of Repeating Groups in PowerShell–Two Neat Tricks

When you use Format-Table to create a table from a pipeline/variable, you’ll find that PowerShell truncates the output of a column. Here’s a simple example

 

PSH [C:\foo]: Get-Process | Group company | Sort count | Select –Last 2 | Format-Table

Count Name                       Group
----- ----                       -----
   18 Microsoft Corporation     {System.Diagnostics.Process (conhost), ...
   51                           {System.Diagnostics.Process (ApMsgFwd),...

 

As you can see, PowerShell has truncated the Group colum to just show one member of the group. Note that ’ve deliberately truncated the width of the console to produce this output to avoid Blogger from ‘helpfully’ wrapping the column when you read this post – if you try the pipeline you’ll likely see a few more.

Here’s the first neat tric: To get more output you can use the –wrap parameter on the call to format Table

PSH [C:\foo]: Get-Process | Group Company | Sort Count | Select –Last 2 | Ft -wrap


Count Name                      Group
----- ----                      -----
   19 Microsoft Corporation     {System.Diagnostics.Process (conhost), System.Dia
                                gnostics.Process (conhost), System.Diagnostics.Pr
                                ocess (conhost), System.Diagnostics.Process (dwm)
                                ...}
   51                           {System.Diagnostics.Process (ApMsgFwd), System.Di
                                agnostics.Process (audiodg), System.Diagnostics.P
                                rocess (csrss), System.Diagnostics.Process (csrss

Now this better, but this still truncates the group to just 4 entries. What if you want to see more? To to that, and here’s the second neat trick, you need to set a preference variable, FormatEnumerationLimit. You set this variable to the number of group entries you want to see. By default PowerShell sets this to 4. If you set it higher, you will see something like this:

 

PSH [C:\foo]: $FormatEnumerationLimit = 10

PSH [C:\foo]: get-Process | group company | sort count | select -last 2 | ft -wrap


Count Name                      Group
----- ----                      -----
   19 Microsoft Corporation     {System.Diagnostics.Process (conhost), System.Dia
                                gnostics.Process (conhost), System.Diagnostics.Pr
                                ocess (conhost), System.Diagnostics.Process (dwm)
                                , System.Diagnostics.Process (explorer), System.D
                                iagnostics.Process (explorer), System.Diagnostics
                                .Process (ielowutil), System.Diagnostics.Process
                                (msnmsgr), System.Diagnostics.Process (msseces),
                                System.Diagnostics.Process (OUTLOOK)...}
   51                           {System.Diagnostics.Process (ApMsgFwd), System.Di
                                agnostics.Process (audiodg), System.Diagnostics.P
                                rocess (csrss), System.Diagnostics.Process (csrss
                                ), System.Diagnostics.Process (Idle), System.Diag
                                nostics.Process (inetinfo), System.Diagnostics.Pr
                                ocess (lsass), System.Diagnostics.Process (lsm),
                                System.Diagnostics.Process (MDM), System.Diagnost
                                ics.Process (mqsvc)...}

In this case, you new see 10 members of the group and not the default of 5. Were you to set $FormatEnumerationLimit to, say, 1000, then you would see up to 1000 entries. If you look at the variable (Get-Variable FormatEnumerationLimit | FL *), the description of this variable says: “Dictates the limit of enumeration on formatting IEnumerable objects”. This is a 32-bit integer so you could set it higher than 1000, although that's probably a bit OTT. Setting it to say 100 in your profile is probably good enough for most things.

Thanks to Alexandar for pointing me to this preference variable. For more information on this and the other PowerShell prefernce variables, you can get-help on about_perferencevariables.

Monday, February 07, 2011

PowerShell Master Class Returns to Stockholm–March 8-10 2011

I’ve just had confirmation from Lab Center that I’ll be running another Introduction to PowerShell master class event in Stockholm on March 8-10.

Lab Center is one of the best training centres that I’ve had the privilege to work with – and given the great folks I hang out with these days, that’s saying something. The centre is in downtown Stockholm just 10 minutes walk from the central train statin and 2 minutes stroll from the nearest T-Banna station

The agenda for the lab is as follows:

Day 1 – The Basics

  • PowerShell Fundamentals – the key elements of PowerShell plus installation, setup, and 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

Day 2 – Diving Deep in to Scripting

  • 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

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.

 

We’ve got a nearly full class – but there’s always room for on e more. So if you fancy Stockholm in the early spring along with as much PowerShell as your head can handle – book today. I hope to see you there…

Sunday, January 30, 2011

Creating PSDrives for Modules

In my PowerShell training, I spend time examining modules and how you can use them to manage code and avoid profile bloat. In the (forgive the pun) modules on modules, I do lots of demos where being able to quickly set your location to the personal or system modules folder is useful. One simple way I demonstrate is to create PS drives pointing to the folders. I do this as follows:

# First, create variables pointing to each folder
$mod       = (ls env:psmodulepath).value.split(";")[0]
$sysmod    = (ls env:psmodulepath).value.split(";")[1]

# Now create PsDrives
New-PSDrive -name mod    -root $mod     –PsProvider FileSystem | out-null
New-PSdrive -name sysmod -root $sysmod  –PsProvider FileSystem | out-null

As you can see, I first create variables corresponding to the two built in Profile folders. The PsModulePath environment variable is set to a string holding the names of these folders, delimited by a semi-colon. Once I have the $mod and $sysmod variables, I can call New-PSDrive to create the drives. The last two PowerShell statements do return a value, so to to keep the output to a minimum, I just pipe the results to out-null (although I’ll quickly point out there are other ways to avoid the output!)

Friday, January 28, 2011

Powershell WebCast–Formatting in PowerShell

As I wrote earlier this week, on Wednesday night (well night in the UK!), I delivered PowerShell.Com’s first webcast. The webcast was a huge success – we had a total of 1350 people signed up to attend. At the peak we had just over 675 users watching (about par for the course in terms of attrition!). If you were amongst those who missed any or all of the web cast, or just want to re-see part of it, the web cast itself is posted to PowerShell.com (http://powershell.com/cs/media/p/8773.aspx). I’ve also posted my slides and demo code to my website – www.reskit.net/powershell/formatting.zip.

Enjoy!

Tuesday, January 25, 2011

Webcast: Formatting with PowerShell

Tomorrow, 26 January, I’ll be presenting a web cast of formatting with PowerShell. Those kind forks at Idera, sponsors of PowerShell.Com, have organised an on-line webcast where I’ll be looking at formatting with PowerShell. As of this afternoon, over 900 folks  have signed up for the event!! The webcast is live at 18:00 GMT (19:00CET). For the US folks, that works out to 13:00 EST and earlier further west.

The webcast examines how you format output using PowerShell. It’s aimed at a 250 technical level presentation. I first look at default formatting and using Format-Table and Format-List (and Format-Wide). I’l exmine .NET Composite formatting strings and PowerShell's -F operator – these enable you to format individual values into output strings. I’ll then move gears and look at using hash tables with Format-Table and Format-List to provide more precise control over the formatting of tables. I’ll also spend time answering your questions.

To find more about the webcast, and to sign up to attend, see: https://www2.gotomeeting.com/register/626513458. I hope to see you all there!

Friday, December 24, 2010

PowerShell Jobs

I’ve just seen an interesting blog article, that shows using PowerShell Jobs to do a specific task in Forefront Identity Manager (FIM). This article was neat ins two ways.

First, even though I am not really an FIM guy, by looking at the script, I had a pretty clear idea of what the script would do. So while I am not clear on the details (just how big is a management agent, how complex is the import process, and what do I do with them anyway!), I can see what the script will do. This shows up a point I keep making to my PowerShell classes: learning a new product’s cmdllets is mainly about learning about how that product’s objects are surfaced (WMI, CMDLET, Provider, etc) and then what they are and what they are used for. The latter bits of this of course require product knowledge, outside of PowerShell.

The second thing neat about this article was how the author took a set of operations (importing several management agents into FIM). In terms of the importing, you could have written the script to not use just – just calling the script block directly  inside the loop instead of inside a separate job. This approach delivers parallelism that can speed up dramatically the time for a task to happen. But, it depends.

Each time you run a PowerShell job (whether in the ISE or console), PowerShell creates an instance of PowerShell.exe to execute the script or script block. This means that each job comes with a bit of overhead – process creation has CPU/IO/Memory requirements. But if you can run multiple tasks in separate processes, then with Window’s multiprocessing features, the jobs run in parallel and therefore a much shorter overall time. At least in theory!

As ever it depends. If the task being executed uses a lot or resources to actually execute, then having multiple tasks run in parallel therefore raises the resource utilisation. Specifically, with more than one or two ‘heavy’ tasks, you can find the system is paging heavily. This paging might actually end up slowing the execution down to the point where there the benefits of parallelisation are swept away by the paging costs.

A related issue is what I call the 3:00 wakeup test. If had to be woken up at 3:00 in the morning to have to fix this script, what would I make of it. Because the script is more complex, it might take me longer to work out what is going on (and therefore how to fix things).

So-this script illustrates something that can really improve the performance of certain tasks. But as ever it depends!

Technorati Tags: ,,

Saturday, December 11, 2010

Lync Server and PowerShell–a new forum

Over at Www.PowerShell.Com, there’s a new forum: PowerShell for Microsoft Lync Server. This is a forum where you can ask any and all your questions around using PowerShell and Lync Server 2010. As you may know, Lync Server 2010 follows in the foot steps of Exchange and other MS server applications in offering a complete PowerShell Admin experience.

For those of you who are getting into Lync, your basic administration can be done from the Lync Server Control Panel (a sliver light application that replaced the MMC console used in Office Communications Server and earlier versions of what we now call Lync. But for heavy duty admin, PowerShell, and the 543 cmdlets in the Lync Module are going to be your focus. I teach Lync in the UK and know that many of the admins I’ve taught thus far are going to struggle with PowerShell as many of them have little or no PowerShell background (with too many still living in the land where administration must mean doing it at the GUI).

So if you are getting into Lync, and are having trouble doing a specific thing – come on down. If you are a seasoned OCS admin, and a bit unsure on PowerShell – definitely come on over and ask your questions.

Friday, December 10, 2010

First PowerShell PowerCamp A Fantastic Success

Last Saturday (Dec 4th) a group of 29 hearty souls sat down at an absurdly early hour and began to experience the first ever weekend PowerShell PowerCamp. After a short intro from super-star technology writer and consultant Jon Honeyball, I took the floor and spent the rest of the guiding the attendees through PowerShell. I projected slides, did tons of demos, while the attendees typed along on their own laptops. We did take a few minutes out for coffee and lunch, but worked on into the darkness before gathering our senses and meeting for a lovely meal in a local pub. Sunday saw more of the same, with a most excellent presentation of the Managing Hyper-V with PowerShell by superstar ex-Microsoft superstar James O'Neil.

The attendees were from a variety of companies and backgrounds but all shared a desire to learn PowerShell. Unlike some of the folks I see in my general Windows courses, the PowerCamp attendees all see the value in PowerShell and also see the value, to their CVs and careers, of learning PowerShell. It’s clear that for some weekends like this are just the ticket!

Moving forward, I will be running two more PowerShell PowerCamp weekends. The next one is March 26-27 and will be held in York, England. Price and full details will be announced shortly. Watch this space!

Thursday, November 25, 2010

PowerShell Training

I’ve been doing quite a lot of PowerShell training of late for organisations big and small. The biggest organisation was Microsoft’s Hotmail team where I ran a week long class over the summer – organisations with that many servers to manage could not function as well with out PowerShell. But despite it having been around for few years, many (most?) IT Pros don’t really know PowerShell – well not yet anyway. Microsoft’s broad adoption of PowerShell has meant a lot of my customers moving over to doing things with PowerShell. This is a good thing – but there’s a lot of resistance that needs to be overcome.

As see it, organisations must acknowledge that PowerShell is here, is part of Microsoft’s Common Engineering Criteria (what every team in MS must do). PowerShell will only become more pervasive. In short, it matters. So it’s time to start learning it and adopting it as an enterprise tool.

While I can talk about PowerShell being a strategic task automation platform, IT Pros need to work with Powershell itself and the product specific cmdlet set(s). And they need to understand how to write scripts – detecting the errors that will happen, dealing with credentials, working with .NET/WMI/COM, etc. There is a bit of a learning curve here, and that’s something Microsoft can work on as they develop PowerShell Version 3 (which would be expected to ship inside the next version of windows in a couple of years).

So how do you learn PowerShell. Well – for those who are motivated there is a plethora of on-line material, ranging from blog posts, twitter references, web tutorials, free e-books, etc, etc, etc. Use your favourite search engine to mine a vast amount of content – most of it pretty good. For those who are self motivated, the internet is a good source of learning material.

If you prefer the structure of a formal class, as I know I do, then you have a number of options. Microsoft has issued two PowerShell official training courses:

Microsoft CPLSs also offer another 5-day class, PowerShell for Administrators. This is a 3 day class covering PowerShell V1.

As an alternative: I offer two 3 and 4 -day PowerShell classes: an Introduction to PowerShell class and an Advanced PowerShell Class. I find that, with PowerShell, this is enough time to get someone started. Armed with the knowledge and practice gained during those sessions, delegates begin their journey, and come back in a few months for more advanced topics like XML, database access, error handling, etc.

How you learn PowerShell is really up to you – you have options! So go on – you know it makes sense!

Wednesday, November 24, 2010

IPv6–Are You Ready?

Last week, I got the chance to teach a nice Microsoft networking course up in York at the University’s IT Academy. It was a great week! For me one of the highlights was talking about IPv6. The delegates had heard of it, but by and large it was somewhat foreign. So I dived into as much detail as I could, and used Joseph Davies’ most  excellent IPv6 book  as a reference. I know Joseph well – he and I collaborated on two TCP/IP books (TCP/IP for Windows Server 2000, and TCP/IP for Windows Server 2003).

I’ve been writing about IPv6 for over a decade. In the first TCP/IP book I co-wrote (TCP/IP Blueprints), I provided some details on what was then (the book was first published in 1997!) the state of IPv6. At that time IPv6 was a cool concept, it was hard to make much of a case for it. My view then was that once Microsoft produced a decent IPv6 stack as standard, folks would flock to it. Well – they did – a good stack was produced for Window XP/Wiv6. Windows Server 2003 – but I was wrong and there was little groundswell for IP. With Windows 7 and Server 2008 R2, Microsoft produced a killer IPv6 feature, Direct Access (see http://technet.microsoft.com/en-us/network/dd420463.aspx for details on this feature). But even with Direct Access, the rush to IPv6 is not really visible.

Well last week, Vint Cerf, the guy responsible for much of what we know as IP today, wrote that we’re running out of time. In an article titled: Google vice-president issues a start internet warning, Cerf says "There's no question we're going to be out of address space by springtime of 2011”. To back him up, here’s an online counter you can use to see just how close to the end of IPv4 address availability:

When I popped this counter up yesterday morning, it showed 101 days till X-day (the day when there will be no more IPv4 address blocks for the regional IP registries to dish out). Later in the day, the counter showed 100 days,  but by this morning, it’s down to 98 days. As the counter is real time – the estimated X-day may well be earlier than 2 March 2011.  What’s worse is that when the number of blocks available (currently there 11)

Frankly, this counter scares me a just a little. Now of course, the world will not end on 3 March, or whenever the day after X-day is. We’ll be able to limp along for many more years thanks to the use of NAT and more aggressive public IPv6 address reuse.

But there are two things that really are clear to me: First, the days of IPv4 really are numbered (and this time we really, really mean it!). Secondly, it's really is now time to learn and deploy IPv6.  I look forward to the discussions with my ISP over IPv6!

What are YOUR plans for IPv6??  You do have some, don’t you!!

 

Technorati Tags: ,,

Tuesday, November 23, 2010

Microsoft Releases Lync Documentation

Continuing the tradition started with OCS, the Microsoft UC team have released a mountain of documentation for Lync 2010. As with OCS, there’s both a set of detailed documents, and a .CHM (complied HTML Help file) with all the documents in one place. Even better, you can get the detailed documents as downloadable .DOC files and as web documents you can read on line. A nice job!
To get to the detailed documents, you can go to this page in TechNet: http://technet.microsoft.com/en-us/library/gg398616.aspx. The .CHM file is at: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9720c3f1-ddd4-426b-b98a-f1205561ce00&displaylang=en.
The UC team is to be congratulated for producing such comprehensive and accessible information. If only ALL software teams were so good!

Monday, November 22, 2010

More PowerShell Training

It must be the season – but I’ve got another 5-day PowerShell course coming up in December. I’ll be teaching in London from December 13th – December 17th at Global Knowledge’s Baker Street centre. I’ll be running the full 5-day 10325 PowerShell V2 Microsoft official class. Five fun days – with lots of great labs. This is a great course and I’m looking forward to teaching it. If you are interested, contact me and I’ll ensure you get the details and can get booked on the event. And, for the lucky few, I’ll have a few copies of PowerShell Plus to give away. So book early!!

Technorati Tags: ,,

Tuesday, November 16, 2010

PowerCamp Weekend PowerShell Session–FULL!

WOW – I know PowerShell is on the minds of a lot of IT Pros, but the reaction to the weekend PowerCamp has been pretty overwhelming. We’re full but are taking names of folks for standby should some of the currently committed folks need to backout. However, we’re looking at some more options.

First, I’m hoping to run some more Weekend PowerShell PowerCamps. I have no committed dates yet, but I’m looking at a date in York late winter and Thames Valley in the spring. As things firm up, I’ll blog them. Where would you most like to spend a weekend – and would you?

Secondly, if you want to really master PowerShell, I am teaching the much longer 5-day Microsoft Class (course 10325) in December. This is longer than the weekend retreats, and has more hands on labs. (and you can more probably pay for the class using SA Vouchers which may help the Enterprise SA folks). The plan is to run this course in London – although the exact location is not yet clear. I’m firming up the location this week and should know by early next week.

Please let me know if you have any interest for any of these PowerShell training sessions!!!

Technorati Tags: ,