Monday, April 27, 2009

PowerShell Terminology: Loosely integrated products

I recently started a small series of posts on PowerShell terminology.  In this post, I will discuss what I like to call “loosely integrated products”.  Briefly, I use this term when I talk about how different Microsoft server products implement their support for PowerShell.

In the case of loosely integrated products, these products don’t provide full PowerShell support.  Unlike some server products, with a loosely integrated product, not every task that can be accomplished via the product’s administration user interface can be accomplished with the use of a cmdlet developed by the product team itself.

These are example of Microsoft products that I consider to be loosely integrated:

  • System Center Operations Manager 2007.
  • Internet Information Services 7.0.
  • SQL Server 2008.

In the above examples, the product team ships the product with a PowerShell snapin (except the IIS7 must be downloaded separately).

In the case of Operations Manager 2007, for example, the product provides a customized PowerShell console named “Command Shell” (renamed to “Operations Manager Shell” as of Operations Manager 2007 R2).  What the product team has done is used the Operations Manager SDK managed assembly and created a limited number of cmdlets.  So the cmdlets are officially supported, but you cannot accomplish everything from within PowerShell that can be done from the UI.  Furthermore, because of the incomplete cmdlet coverage, the UI wizards don’t provide similar functionality to the Exchange 2007 UI whereas when a task is done, the underlying PowerShell code used is not presented.

Hopefully the next version of Operations Manager (maybe in 2012) will provide more complete PowerShell support, which can mean a major rewriting of the user interface.

I’m not going to go into detail about IIS7 and SQL Server 2008, unless a comment is left asking me to discuss them in detail.

So the path to manage these applications is:

PowerShell->.NET assembly or SDK->Application.

I will cover tightly integrated products soon.

Friday, April 24, 2009

Managing OpsMgr using a mobile phone: RoveIT Mobile Admin

RoveIT has a product called Mobile Admin that you can read about HERE.

They are putting on a free webcast this coming April 29th at 11AM EDT.  You can register for the webcast HERE.

I’m looking forward to inviting RoveIT to my PowerShell user group possibly in June to talk about how they are using PowerShell in their products.

Thursday, April 23, 2009

Windows PowerShell Virtual User Group Meeting #10--UPDATED

Windows PowerShell Virtual User Group Meeting #10
Time: May 7th, 2009 at 8PM EST (New York time)
Place: Online via Live Meeting 2007

-----------------------------------------------------------
To sign up:
-----------------------------------------------------------
Registration site: http://www.clicktoattend.com/?id=137921
Event Code: 137921
-----------------------------------------------------------

This is our tenth virtual event. Invited speakers that will talk about various
PowerShell-related topics: Bart De Smet (Microsoft), Sergei Anotonov (Microsoft), Glenn Sizemore.

Agenda (EST/New York time):
8:00PM-8:10PM: Introduction (Marco)
8:10PM-8:40PM: Glenn Sizemore
8:40PM-9:10PM: Sergei Antonov (Microsoft)
9:10PM-9:40PM: Bart De Smet (Microsoft)
9:40PM-9:50PM: Closing (Marco)

Speaker topics:
*Glenn Sizemore: NetApp administration using PowerShell (http://www.get-admin.com).
*Sergei Anotonov (Microsoft): IIS PowerShell Snap-in functionality (http://blogs.iis.net/sergeia/).
*Bart De Smet (Microsoft): Using LINQ from PowerShell (http://bartdesmet.net/blogs/bart/).

To join:
https://www.livemeeting.com/cc/winserver_usergroup/join?id=4FB8CN&role=attend&pw=8%5E-%5CzqX

Video:
Video will be delivered via the Microsoft Live Meeting client
Audio:
For attendees, audio will be delivered via the Internet using your computer's speakers. There
will not be a call-in number for this meeting.

Unable to join the meeting? Follow these steps:
1.Copy this address and paste into your web browser:
https://www.livemeeting.com/cc/winserver_usergroup/join
2.Copy and paste the required information:
Meeting ID: 4FB8CN
Entry Code: 8^-\zqX

New Book: Microsoft SQL Server 2008 Administration with Windows PowerShell

Wrox has a book on SQL Server 2008 and PowerShell HERE.  The book is due June 2009.

I just noticed that they have recently made the scripts from the book available for download.

The zip file contains: 76 .ps1 scripts, 26 .sql scripts, 2 .xml files, 1 .bat file, and 3 .txt files.  I’ve not looked through the scripts, but to include over 100 PowerShell and SQL scripts is super cool.

I can’t wait to get my hands on the book and review it…

[Edit: I originally reported 107 .ps1 scripts, but I was wrong.]

Windows PowerShell Virtual User Group #10—NEW DATE

I recently announced my tenth meeting of my virtual PowerShell user group HERE.  The original date was April 30th.  I’m changing this to May 7th.

I apologize for any inconveniences.

I will post the updated information today.

Monday, April 20, 2009

Windows PowerShell Virtual User Group Meeting #10

Windows PowerShell Virtual User Group Meeting #10
Time: April 30th, 2009 at 8PM EST (New York time)
Place: Online via Live Meeting 2007

-----------------------------------------------------------
To sign up:
-----------------------------------------------------------
Registration site: http://www.clicktoattend.com/?id=137921
Event Code: 137921
-----------------------------------------------------------

This is our tenth virtual event. Invited speakers that will talk about various
PowerShell-related topics: Bart De Smet (Microsoft), Sergei Anotonov (Microsoft), Glenn Sizemore.

Agenda (EST/New York time):
8:00PM-8:10PM: Introduction (Marco)
8:10PM-8:40PM: Glenn Sizemore
8:40PM-9:10PM: Sergei Antonov (Microsoft)
9:10PM-9:40PM: Bart De Smet (Microsoft)
9:40PM-9:50PM: Closing (Marco)

Speaker topics:
*Glenn Sizemore: NetApp administration using PowerShell (http://www.get-admin.com).
*Sergei Anotonov (Microsoft): IIS PowerShell Snap-in functionality (http://blogs.iis.net/sergeia/).
*Bart De Smet (Microsoft): Using LINQ from PowerShell (http://bartdesmet.net/blogs/bart/).

To join:
https://www.livemeeting.com/cc/winserver_usergroup/join?id=4FB8CN&role=attend&pw=8%5E-%5CzqX

Video:
Video will be delivered via the Microsoft Live Meeting client
Audio:
For attendees, audio will be delivered via the Internet using your computer's speakers. There
will not be a call-in number for this meeting.

Unable to join the meeting? Follow these steps:
1.Copy this address and paste into your web browser:
https://www.livemeeting.com/cc/winserver_usergroup/join
2.Copy and paste the required information:
Meeting ID: 4FB8CN
Entry Code: 8^-\zqX

Friday, April 17, 2009

PowerShell Terminology: Common Engineering Criteria

I recently started a series on PowerShell terminology HERE.  One thing I mentioned was Microsoft’s Common Engineering Criteria (CEC).

You can read through Microsoft’s official web site HERE.

From my understanding, CEC is a set of best practices that are to be implemented in all server-based products.  Now, this may be some kind of internal document, and I’ve never seen it, so this is my unofficial interpretation of things…

Microsoft added PowerShell as of their CEC 2009 standards.  Apparently, if a server product doesn’t meet all of the CEC guidelines, the particular product team must justify each and every deviance from this to some internal Microsoft group who likely oversees the compliance to the standards.

Based on the products that have recently come out from Microsoft, I don’t believe the standard outlines exactly how PowerShell should be implemented in products.  This is my conclusion based on seeing the differences with how newer products have varying levels of PowerShell support.

I introduced some new terms HERE: “PowerShell-enablers”, “loosely integrated products”, and “tightly integrated products”.  I’ll likely cover these last 2 terms next week.

Wednesday, April 8, 2009

PowerShell Terminology: PowerShell-enablers

I’m going to blog about a few terms I like to use when I talk about how PowerShell is supported in different Microsoft server applications.

The terms I will introduce in are:

  • PowerShell-enablers.
  • Loosely integrated products.
  • Tightly integrated products.

This is the first post in this small series, so I’m going to briefly discuss “PowerShell-enablers”:

Since Microsoft announced that PowerShell was now part of their Common Engineering Criteria since 2009, there are some products that officially released around the time of the announcement and also after.

There are examples of Microsoft products that don’t provide any PowerShell support per se:

  • Hyper-V.
  • System Center Configuration Manager 2007.
  • Office Suite and Internet Explorer (just client applications, but still).

Now, that being said, these products do support “PowerShell-enablers”.  To me, these are technologies like COM (Component Object Model) and WMI (Windows Management Instrumentation).

Via COM, I can automate Office and IE, and I can access COM from PowerShell.  Via WMI, I can automate Hyper-V and ConfigMgr, and there is excellent support for WMI from PowerShell.

So the path to manage these applications is:

PowerShell->WMI or COM->Application

In the next post, I’ll talk about loosely integrated products.

Tuesday, April 7, 2009

Book: System Center Operations Manager 2007 Unleashed – 2nd edition

opsmgr2

I just wanted to mention a book that I am writing for:  System Center Operations Manager 2007 by Kerrie Meyler, Cameron Fuller, John Joyner and Andy Dominey.

(The link and image are for the 1st edition.)

A publication date has not been set yet, to my knowledge.

I’ve contributed a chapter on using PoweShell where I cover the basics of what a OpsMgr user should know, show some basic examples of general Windows tasks in PowerShell, then show some practical examples of how to use PowerShell in OpsMgr to script and automate tasks.

(Image copied from Amazon link.)

Monday, April 6, 2009

Book: SQL Server 2008

sql2

I just wanted to mention a book that I contributed to last year:  SQL Server 2008 Management and Administration by Ross Mistry.

It was published this past January 2009.

I contributed a chapter on using PoweShell with SQL Server 2008 where I cover the new features provided in this release.  I also cover some of the basics a DBA should have a grasp of before using PowerShell.

I also briefly cover using SMO (SQL Server Management Objects).

If you visit my blog and have the book, please don’t hesitate to leave any comments!

(Image copied from Amazon link.)

User Group Connection (Moncton) Update

The user group meeting I’m helping to organize originally mentioned HERE is coming along very well.

The room size allows a maximum of 60 attendees.  As of about 2 weeks ago, the registration was at 53.

I’m looking forward to meeting IT people from the area.  I’ll also be trying to get in a few minutes to talk about starting up a IT Pro user group in the Moncton area.

TechDays DAC Update

The previous post HERE mentions a free online Microsoft event where I did a 60 minute session on PowerShell-related developer topics.

There is a link HERE to the Live Meeting recording of the event (the link should work).

Hopefully developers new to PowerShell will find the discussion interesting.