Tuesday, December 23, 2008

v2 CTP3: Running PowerShell silently

Well, if you haven't heard, v2 CTP3 is out. Check it HERE.

This new release provides a feature where powershell.exe can be run with a hidden window/screen. This is definitely an FAQ candidate: I've seen this asked many times in various forums.

PS>powershell.exe /?
Sets the window style to Normal, Minimized, Maximized or Hidden.

(The CTP3 release notes have a typo: This parameter is covered as "-WindowsStyle".)

So if you run something simple like:
PS>powershell.exe -windowstyle hidden # from PowerShell

Be prepared... Not only will your current PowerShell console vanish, but you'll also have another PowerShell host running.

What do I mean, if you try the above, then open another PowerShell console, you could see:
PS> gps powershell

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
331 6 21396 7640 127 0.94 904 powershell
168 6 24384 33332 127 0.61 4752 powershell
210 6 25816 33936 129 0.53 5324 powershell

So, running with "hidden" hides the current process you just invoked, but also hides the console from which it was called/invoked in the first place.

This new hidden features is definitely useful for stuff like scheduled tasks where the solution before was to either wrap the PowerShell in VBScript or even use the Win32 APIs to do something more complicated.

Wednesday, December 17, 2008

Windows PowerShell Virtual User Group #8--IN THE WORKS

Plans are underway for meeting #8. Looks like it will be January 29th at noon EST (New York time).

Tentative speakers/topics:
Jeffrey Snover (Microsoft): PowerShell v2 news.
June Blender (Microsoft): New PowerShell help features.

I may do a small presentation also... Not sure yet. If there's anything you'd like to see demo'd, leave a comment!

I may invite Compellent (www.compellent.com/powershell) to do a live demo of their new PowerShell cmdlets.

Windows PowerShell Virtual User Group #7--VIDEOS

So, I'm going with a different format this time. I'm going to post the raw videos, and simply post the timing for each section. This keeps the file sizes 10x smaller! It also saves me extra work.

Here's the "time layout" (format is MM:SS or HH:MM:SS):
-Intro (Marco) 8:55-16:00
-Nathan 16:00-44:55
-Joel 45:25-1:12:55
-Idera 1:13:10-1:33:55
-Closing (Marco) 1:35:00-1:38:45

For the details on each speaker's topic, see HERE.

WMV format: For use with most players

HFP format: This can be viewed through a web browser (the file needs to be unzipped)

Your feedback is welcome!

Tuesday, December 16, 2008

PowerShell Podcast - this Thursday evening

Jonathan and Hal continue to put on an excellent live PowerShell podcast every Thursday HERE.

This Thursday two members of the Microsoft PowerShell team will be on the podcast: Jeffrey Snover and Bruce Payette.

Jeffrey Snover keeps us informed on http://blogs.msdn.com/powershell and Bruce Payette is the author of PowerShell In Action.

I'm planning to listen in live for this one... It would be my first...

Windows PowerShell Virtual User Group #7--UPDATE

I blogged it HERE: I don't have the #7 recordings ready for download yet. I'm sorry...

I promise to have something in the next 24 hours.

Sunday, December 14, 2008

OpsMgr Shell: Another advanced example of PowerShell and the SDK

Here's another post on advanced usage of the OpsMgr SDK and PowerShell. As I get into more complicated things, it seems I keep running into .NET Generics and collections more and more.

I had quite the time when I came across a read-only collection, and needed to edit it. Fortunately, Jaykul, Oisin and Bruce Payette all came to my rescue.

The result is HERE, where I show:
1. How I am handed a read-only collection by the OpsMgr SDK.
2. I recreate a new generic list with just the elements I want from that read-only collection.
3. Then recreate that read-only collection using my new list.


Saturday, December 13, 2008

Windows PowerShell Unleased 2nd Edition--AVAILABLE

I first blogged about the book HERE. Well, it is now "In Stock" on Amazon.com HERE.

Please feel free to leave comments on my blog or on Amazon. I welcome any/all feedback, and will use that feedback for a probably 3rd edition.

I enjoyed working with Tyson and Pete, and can appreciate now how much hard work it is to put your thoughts onto paper in a clear and concise way.

I hope that anyone that reads the book will find it a valuable reference.

Saturday, December 6, 2008

OpsMgr Shell: Advanced example using PowerShell and the SDK

I've got a new post up HERE on the System Center Forum site.

The title is "Advanced example using PowerShell and the OpsMgr SDK: Creating and Updating Groups". I basically translate a post from Jakub Olesky HERE.

I'm going to do a few more related blog posts where I split the above code into two functions/scripts.

Thursday, November 27, 2008

OpsMgr Shell: OpsMgr Automation Introduction--Part 2

I first blogged HERE about starting a short series on OpsMgr Automation.

I covered the simple get-alert cmdlet in the series introduction post, and now have the second part up on the System Center Forum site HERE.

In the second part, I demonstrate PowerShell’s native .NET functionality by using the OpsMgr SDK .NET assemblies directly from a PowerShell console.

Go to the above link for the full article.

PowerShell in OpsMgr 2007 R2 (beta 1)--Operations Manager Shell

Recently, Microsoft released System Center Operations Manager 2007 R2. This is *not* a SP release, but a new product. I won't go into the licensing details of this as others have covered it, and a search should get you answers.

I haven't seen anyone actually mention PowerShell at all when discussing the new release.

I'm going to try to spend some time this week and next looking for any PowerShell-related changes.

One thing to note at this point is that the "Command Shell" (see note 1 below) appears to have been renamed to "Operations Manager Shell". The decision was likely to follow along with Exchange, where they have their PowerShell extension named "Exchange Management Shell" or "EMS".

As a result, I'm now going to start using the tag "OpsMgr Shell" when referring to the OpsMgr R2 release, and likely any future releases of OpsMgr down the road likely in 2010 or so (that's nothing official or unofficial... I'm just throwing that date out there).

Note 1: The OpsMgr custom PowerShell console pre-loaded with the OpsMgr PowerShell extensions.

Wednesday, November 26, 2008

Windows PowerShell Virtual User Group Meeting #7

(2nd attempt to have this meeting after it was cancelled due to server problems on November 13th.)

Windows PowerShell Virtual User Group Meeting #7

The full details are HERE.


Time: December 4th, 2008 at 12PM EST (noon; New York time)
Place: Online via Live Meeting 2007

To sign up:

Registration site: http://www.clicktoattend.com/?id=133768
Event Code: 133768

This is our seventh virtual event. Invited speakers that will talk about various PowerShell-related topics: Nathan Winters (Exchange MVP), Joel (Jaykul) Bennett, Idera (vendor)

Windows PowerShell Virtual User Group--NEW HOME

Thanks to the System Center Virtual User Group for providing a new home for the Windows PowerShell Virtual User Group HERE.

Previously, everything was this personal blog site, and posted on www.powershellcommunity.org, but this new site provides me with some new opportunities do market my group, and help others.

I will still post updates here, but will be referring to blog posts on the new site mostly.

I will be announcing the new date for meeting #7 in the next few hours (cancelled due to Live Meeting server problems).

Wednesday, November 19, 2008

Command Shell: Tip when using criteria with Get-MonitoringObject

Another guest blog on the System Center Forum site HERE.

I discuss an odd scenario where some OpsMgr Command Shell commands produce an object with a NoteProperty property type. I briefly talk about what a NoteProperty is in PowerShell, then I I show how to reproduce the particular problem, and how to workaround it using the OpsMgr SDK.

Pete Zerger, founder of the System Center Forum site, also uses some of the things I discuss HERE to create a Dell Server Inventory Report from OpsMgr using the Command Shell.

Friday, November 14, 2008

Windows PowerShell Virtual User Group Meeting #7--UPDATE

As I blogged yesterday, I had to cancel my PowerShell virtual meeting yesterday because of Live Meeting server problems.

I still don't have confirmations from 2 of 3 planned speakers as to whether they are available for Thursday, November 20th.

At this point, I will likely try for Thursday, November 27th, instead of only giving a few days notice.

Thursday, November 13, 2008

Windows PowerShell Virtual User Group Meeting #7--POSTPONED

I was to have my latest PowerShell virtual user group meeting earlier today, which was announced HERE.

Microsoft is currently having Live Meeting server problems. So the event will be rescheduled to a later date.

I may try to have it at the same time on Thursday, November 20th. That will depend on speaker availability.

I will try to decide in the next 24 hours whether next Thursday will be possible.

Sorry for any inconvenience.

Tuesday, November 11, 2008

November Meeting of System Center Virtual User Group

November Meeting of System Center Virtual User Group is announced HERE.

The System Center Virtual User Group meets this Thursday at 1pm (CST), which is just after my upcoming PowerShell meeting.

This month's topics:
* Deep dive on AD integration in OpsMgr, Raphael Burri (30 min)
* Integrating Forefront Client Security with SCCM, Kevin Colby - SecureVantage (30 min)
* System Center Operations Manager 2007 R2 Features and Fixes, Baelson Duque - Microsoft (60 min)

Go to the above link to register.

Tuesday, November 4, 2008

Command Shell: OpsMgr Automation Introduction

[Update: November 18th, 2008: Updated System Center URL.]

I've started doing some guest blogging on the great System Center Forum site. My first post is HERE.

I'm doing a series on OpsMgr automation using a simple example like the Command Shell's get-agent cmdlet.

I'm going to attempt to show at least 5 ways that one can duplicate the get-alert cmdlet:

1. The simplest way to list the alerts is via the OpsMgr Command Shell by simply using the get-alert cmdlet.
2. Still using the Command Shell, I could use PowerShell’s .NET functionality to use the OpsMgr SDK .NET assemblies directly from within the console.
3. Using the OpsMgr SDK .NET assemblies, a C# console application could be created to duplicate the same functionality.
4. Similar to what was done for SQL Server 2008, a PowerShell “clone”, also known as a “minishell”, can be created that can also work as a console application.
5. A custom PowerShell runspace can be used, which is the method the Exchange 2007 Management Shell (which is PowerShell with some add-ons for Exchange management/administration) must be integrated into C# applications because of the absence of any other public API.

Check it out!

PowerShell scripting using Visio

[Update: It seems the zip file requires a password, but I can't find one documented anywhere. I'm trying to reach the site owners and another contact I have to see what the password might be.]

I first blogged HERE about an Asian project that had developed a PowerShell Visio plugin.

Basically, you could create simple PowerShell scritps by creating diagrams in Visio.

It's out now. Get it HERE.

Sunday, November 2, 2008

Virtual user group update

I just announced my seventh meeting of my PowerShell virtual user group HERE. I'll be trying to spread the word this week that the event is coming up.

In July, I had announced HERE that the user group was alive and strong.

It has been about one year since my first online meeting. Live attendance has been steadily decreasing. I haven't found the extra time to figure out a mechanism to log downloads of my recorded sessions to determine whether these are actually useful/in use.

A few months ago, I was considering moving on to other things. Responses to my requests for presenters was about a 20% "yes, I'll do it" rate, which just isn't high enough for me.

I need to come up with a better marketing strategy, and get a few other things together to determine if this is something that brings a real value to a large enough number of people.

I will definitely try to have one more user group meeting around mid-December before I finally decide what things might look like in 2009.

Thanks for reading.

Friday, October 31, 2008

Windows PowerShell Virtual User Group Meeting #7

Windows PowerShell Virtual User Group Meeting #7

Time: November 13th, 2008 at 12PM EST (noon; New York time)
Place: Online via Live Meeting 2007

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

This is our seventh virtual event. Invited speakers that will talk about various PowerShell-related topics: Nathan Winters (Exchange MVP), Joel (Jaykul) Bennett, Idera (vendor)

To join:

Video will be delivered via the Microsoft Live Meeting client

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 (as was the case in the past).

Unable to join the meeting? Follow these steps:
1.Copy this address and paste into your web browser:
2.Copy and paste the required information:
Meeting ID: 4RS44G
Entry Code: 8^-\zqX

12:00PM-12:10PM: Introduction
12:10PM-12:35PM: Nathan Winters (MVP)
12:40PM-1:00PM: Joel Bennett
1:05PM-1:30PM: Idera
1:30PM-1:35PM: Closing

Speaker topics:
*Nathan Winters (MVP): "Exchange 2007 from PowerShell". Nathan will show how PowerShell can be used with Exchange 2007.
*Joel (Jaykul) Bennett: "PoSh Tools for the Huddled Masses". Joel, a prominent PowerShell developer, is always full of surprises. This should be a "must attend" for everyone.
*Idera (vendor): Idera will demo their PowerShellPlus product. PowerShellPlus is a editor with strong PowerShell support.

All details related to this event will be posted on http://www.powershellcommunity.org.
(NOTE: This is delivered via Live Meeting 2007. It is possible that you may have to download and install the Live Meeting 2007 client which can take possibly up to 10 minutes typically.)

Monday, October 27, 2008

Command Shell: Set-MaintenanceWindow with an end time of now

Reported on MS Connect HERE.

I view this more as an issue. Please vote if you come across this problem by following the link above. There is a bit more information if you follow the link also.

When a maintenance window has been created, if "Set-MaintenanceWindow -endtime $(get-date)" is used, it will output an error:
Set-MaintenanceWindow : Cannot set scheduled end time to a time in the past

There seems to be a small delay in processing the command, simply doing this works:
Set-MaintenanceWindow -endtime $(get-date).addseconds(1)

The cmdlet should gracefully accept a end time of "now".

Command Shell: Get-MaintenanceWindow reports datetime in UTC

Reported on Microsoft Connect HERE.

See the summary below. Go to the above link to view the full details. I added this more as feedback versus adding it as an issue (it isn't an actual "trouble").

Please use the above link to vote on the issue if you think this should be resolved by the OpsMgr team.

Get-MaintenanceWindow reports StartTime and ScheduledEndTime property as the UTC time (ignoring the local timezone).

Example below, the current time is approximately:
Monday, October 27, 2008 7:15:14 PM

When the New-MaintenanceWindow cmdlet is used to create a maintenance window starting immediately, using Get-MaintenanceWindow immediately after, the StartTime shows as:
(Monday, October 27, 2008 7:15:14 PM)+6 (Timezone value)-1 (not DST)=10/28/2008 12:14:58 AM

So it appears, the StartTime property follows the above formula to display the value to the console via the Command Shell.

Get-MaintenanceWindow should report Date/time properties while accounting for the local timezone settings.

Saturday, October 18, 2008

DPM: Getting the installed DPM version

I found an interesting post in the microsoft.public.dataprotectionmanager newsgroup where it was asked if there was a way to tell what version of DPM was installed on a remote server.

Unfortunately, DPM doesn't provide a built-in cmdlet to accomplish this apparently, but a VBScript solution was provided using WMI. Of course, I had to provide a simple PowerShell solution:

PS>get-wmiobject -computername some_computer win32_product -filter "Name = 'Microsoft System Center Data Protection Manager 2007'"|select version

(I don't have a DPM environment to test, so maybe someone else can help to confirm that this works?)

So even though DPM doesn't provide this directly, we can obtain the info using the get-wmiobject cmdlet to do a WMI query.

Command Shell: Microsoft introduction video

This has been available online for several months, but I wanted to add a link to it on my blog.

Roger Sprague from the OpsMgr team did this great into video on the Command Shell HERE.

Definitely worth watching for people new to the OpsMgr Command Shell.

Friday, October 10, 2008

TechDays: Canada's answer to TechEd

[Update October 24th, 2008: Unfortunately, the Halifax event has been removed from the list of cities where the event will be held.]

TechDays is something new for Microsoft Canada. A quote from the event's home page:

"With up to forty 200+ level sessions, Tech•Days is the learning conference on current and emerging technologies such as Virtualization, Group Policy in Windows Server 2008, SQL Server 2008 Resource Governor… and much more."

The closest event to my home town is Halifax, on December 17th, 2008.

**Early bird pricing (50% off!) ends October 15th, 2008.**

I'm honored to have been accepted as a speaker for a session on PowerShell and WMI. The official title is:

"Automating the Management of Windows Servers using PowerShell and Windows Management Instrumentation (WMI)"

For more information, check out some of the posts on this HERE.

I'm really looking forward to this event, and hope to meet and talk with others interested in PowerShell.

Fortunately, HERE is a letter to help convince your boss that you should attend this event.

Re-awarded: Microsoft MVP 2009

October 1st this year was a pretty big day for me: I find out if I've been re-awarded as a MVP. Well, I got re-awarded this year.

I'd like to thank Microsoft for having such a program for recognizing community contributions, and thank my MVP lead, Sasha Krsmanovic, for always being there to help.

Monday, October 6, 2008

Upcoming book: Microsoft SQL Server 2008

I recently wrapped up another authoring opportunity: I've contributed a chapter on the new PowerShell features in SQL Server 2008 for an upcoming book from SAMs: Microsoft SQL Server 2008 Management and Administration.

It's cool to start seeing PowerShell showing up just about everywhere in new Microsoft related books coming out from all the various publishers.

Current release date is set for November 10th, 2008.

Sunday, September 28, 2008

Sapien PowerShell poll

Check it out HERE. Very interesting comments.

I do agree with the resistance with putting .NET on production systems. That has stopped me from trying to roll out a few PowerShell scripts for various automation requests.

Saturday, September 13, 2008

OpsMgr Command Shell tip: where-object vs criteria

I've seen a few OpsMgr Command Shell users posting scripts that use the get-alert cmdlet.

I've seen a few references, where people are using the format:

When this format is used, get-alert retrieves *all* the alerts from the OpsMgr database, and leaves PowerShell to do all the work of handling all the objects that come in, and then where-object also causes more PowerShell processing time to handle all of the objects passed from get-alert.

Although this may work fine, and a larger environment, this approach will take longer to finish this particular pipeline.

Compare the above format to:
get-alert -criteria 'some_criteria'

I had recently mentioned this in a TechNet Magazine article I wrote. Now if you don't believe me... I'll quote a recent microsoft.public.opsmgr.powershell post by Boris Yanushpolsky a Program Manager on the Microsoft OpsMgr team:

"Using the criteria is significantly more efficient as the query is handled by SQL and only the instances/alerts which meet the criteria are returned to PS. Here is a link to an MSDN article which explains the syntax:


The syntax and case used for the query can be a bit harder to master, but it is worth the effort to learn it in larger environment.

Friday, September 12, 2008

Book review: Microsoft® Exchange Server 2007 Administrator's Companion, Second Edition

[Also posted on Amazon.com and Chapters.ca]

I just finished reviewing this book. I looked at it from the perspective of its Windows PowerShell content as I'm a Microsoft MVP who specializes in PowerShell scripting.

PowerShell is becoming more and more important. Under the covers, PowerShell is the basis of all administrative tasks done in the Exchange 2007 Management Console.

PowerShell is new and can be intimidating. However, for anyone who wants to automate tasks and become more productive, they should start investing some time in learning PowerShell. The time will soon come where PowerShell will be the common scripting language used by all Microsoft server products.

What I like about this book is that it isn't too heavy on the PowerShell content, which is good for people new to the scripting language. Concepts are clearly presented, and then there's a small section on how to do the task in PowerShell with an example provided.

Apart from its PowerShell content, the book is very well laid out, and covers every aspect of Exchange that an administrator should know about.

Overall: Five stars.

Monday, September 8, 2008

PowerShell user group update

I announced my user group plans for the next six months HERE.

I'm going to be a little bit behind on that schedule.

Unfortunately, the "Codeplex spotlight" session I wanted to have isn't going to happen as planned, but I might reschedule it for later...

Thursday, September 4, 2008

Upcoming book: Windows PowerShell 2.0 Unleashed

[Update September 12th, 2008: I mention "Windows PowerShell 2.0" as the title, but that title is tentative...]

Source: Amazon.com

"Windows PowerShell 2.0 Unleashed (Paperback)
by Tyson Kopczynski (Author), Pete Handley (Author), Marco Shaw (Author)"

I'm pleased to finally see my name on the cover of a book, after having written a chapter in at least 2 books for far.

The image hasn't been updated, but I'm OK with that.

Release date is currently December 12th, 2008.

Tuesday, August 26, 2008

PowerShell workshop @ UNB in early October

[Update: September 12th, 2008: This has been cancelled. I may reconsider putting this on in 2009.]

If you or anyone you know is interested feel free to contact me to
register: marco DOT shaw AT gmail DOT com or leave a comment here.

Please feel free to pass this around.

Who should attend: Administrators/Developers/Architects/Engineers/Analysts

When: October 2, 2008.
Where: UNB Fredericton
Time: 9AM-4PM (1 hour for lunch, bring your own)
Cost: Free

Why attend: Windows PowerShell (http://www.microsoft.com/powershell)
is Microsoft's next-generation automation scripting language. All
admin tasks within Exchange 2007 are all based on Windows PowerShell
functionality. PowerShell is part of Microsoft's Common Engineering
Criteria 2009, which basically means all server products should now be
shipped with PowerShell functionality.

What the session will provide (tentative):
-9AM-10AM: PowerShell introduction (theory/lecture)
-10AM-10.30AM: PowerShell 3rd party products (theory/lecture) -- & short break
-10.30AM-11.30AM: PowerShell scripting (theory/lecture)
-11.30AM-noon: PowerShell hands-on scripting/labs
-noon-1PM: lunch break
-1PM-2PM: PowerShell development with C# (theory/lecture)
-2PM-3PM: PowerShell hands-on development/labs -- & short break

The above leaves room to change some things or spend more time on
particular topics. Going until 3PM is highly likely, and going to 4PM
could happen.

Marco is currently an IT system analyst for one of Canada's leading
telecommunications companies. He has been working in the IT industry
for over 10 years. He recently received a Microsoft Most Valuable
Professional award for his contributions to the Windows PowerShell
community. His personal blog is at http://marcoshaw.blogspot.com,
where he covers all kinds of PowerShell related topics. He is also a
contributor and moderator of the new PowerShell Community site at

Monday, August 11, 2008

PDF creation from PowerShell!?

Quote from HERE:
"PDFsharp is the Open Source library that easily creates PDF documents from any .NET language.
The same drawing routines can be used to create PDF documents, draw on the screen, or send output to any printer."

Can't wait to try this out with PowerShell!

Friday, August 8, 2008

An apology to the UK PowerShell user group

Announced HERE, I was planning to do a presention on /n software NetCmdlets.

It was rescheduled to mid-August, and I don't think I'll be able to make that date either, so it may be mid-September or so.

To everyone and Richard: I'm sorry.

Tuesday, August 5, 2008

INETA to support virtual user groups

Apparently INETA will start to support virtual user groups soon. INETA is basically a volunteer based organization that supports Microsoft .NET user groups world-wide.

I had tried to register my virtual user group with INETA, but was denied because I wasn't having actual face-to-face meetings.

This may help introduce my user group to a more world-wide audience.

Some of my meetings had about a 15% participation level from continents outside of North America.

Friday, July 25, 2008

NetCmdlets--new v2 beta build

There's a new NetCmdlets v2 build out HERE. See the page for details.

NOTE: The built-in help with this build doesn't work with the PowerShell v2 CTP (only tested this on XP). You'll have to use the provided .CHM help file or use PowerShell v1.

I will be doing a presentation on this snapin next week at the UK PowerShell UG announced HERE.

Wednesday, July 23, 2008

UK PowerShell User Group (NetCmdlets)--UPDATE

I have had to change the date for my presentation for the UK user group that I recently announced HERE.

Furthermore, I had posted the Live Meeting details for presenters, while anyone joining should be using the attendee address.

The updated information:
Date: July 31st, 2008
Time: 2PM EST (New York time)

Connection details:

If the link above isn't working, follow these steps:
1. Copy this address and paste it into your web browser:
2. Copy and paste the required information:
Meeting ID: JQ5754
Entry Code: 6M+7p&KhN
Location: https://www.livemeeting.com/cc/usergroups

This will be done via the Internet (so the audio will be streaming over the Internet also). There won't be telephone dial-in access.

Tuesday, July 22, 2008

Windows PowerShell Virtual User Group: Future plans

Just letting you know what my future plans are for my PowerShell virtual user group.

These are tentative dates and topics:
-Mid-September: Codeplex spotlight. I'm planning presentations by the people responsible for the most popular PowerShell projects on www.codeplex.com.
-Mid-October: Spotlight on Microsoft applications that support PowerShell. Presentations will be by Microsoft MVPs and/or employees.
-Mid-November: Currently open. Topic(s) unknown.
-Early-December: PowerShell applications #2 (similar to mid-October, but different applications).

-Late-January: Currently open. Topic(s) unknown.
-Late-February: PowerShell applications #3 (similar to mid-October 2008, but different applications).

Monday, July 21, 2008

Restricted runspaces in v2 CTP2

In the recent PowerScriting Podcast Episode 33 – Cage Match: PowerScripting vs. Quest, a question came up as to whether restricted runspaces was something that was available in CTP2.

In a recent presentation at my virtual user group Wassim Fayed from Microsoft presented restricted runspaces briefly HERE (wath the entire Wassim_2.wmv video).

It is available in CTP2, however, Wassim demonstrated the functionality using a Invoke-Command parameter that isn't in the current public build (-FilePath), therefore, a scriptblock would have to be built.

Here's a very basic demonstration where I restrict my *current* runspace on a Server 2008 system:

#Works fine
PS>(get-command get-help).visibility="private"
#I have removed visibility to the get-help cmdlet.
#Errors out
The term 'Get-Help' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
At line:1 char:9
+ get-help <<<<

PowerShell/Viso update

I blogged recently about a Japanese PowerShell/Visio tool HERE.

I got word yesterday that they are, in fact, working on a English version now. I can't provide any more specific details, but hope we see something soon!

UK User Group presentation: NetCmdlets

I'll be (remotely) presenting /n software NetCmdlets at the next UK PowerShell UG meeting.

Date: July 29th, 2008
Time: 2PM EST (New York time)

Connection details:

If the link above isn't working, follow these steps:
1. Copy this address and paste it into your web browser:
2. Copy and paste the required information:
Meeting ID: JQ5754
Entry Code: qP,|f/9|m
Location: https://www.livemeeting.com/cc/usergroups

This will be done via the Internet (so the audio will be streaming over the Internet also). There won't be telephone dial-in access.

Monday, July 14, 2008

PowerShell scripting from Visio

I came across this Visio/PowerShell tool, after following a link in a comment on the PowerShell team blog.

I managed to track down a Japanese contact who mentioned he had heard there may already be some discussions happening with Redmond with regards to this tool. He's going to try to contact some of his sources, and get an update on this soon.

Last resort, he may try to help translate it into English.

PowerShell Dashboard is now on Codeplex

PowerShell Dashboard, which I blogged about HERE now has a home on Codeplex HERE.

From the Codeplex site:
"PowerShell Dashboard is a modular IT administration web portal based on Dropthings (http://www.codeplex.com/dropthings) and other open source solutions and controls like Visifire (http://www.visifire.com)."

Canadian IT Professionals : MVP Profile - Marco Shaw

The Microsoft Canadian IT Pro Team will post profiles of Canadian MVPs on a monthly basis. This month, it's my turn. You can view my profile HERE.

WinRM 2.0 CTP2: New .CHM possibly this week

I reported HERE that there was a new WinRM 2.0 CTP build dated June 20th.

A new version of the help file was not included in the online download, but I understand we may see that this week.

Monday, July 7, 2008

New WinRM 2.0 CTP2 installs fine on Vista SP1

I recently announced a new CTP build of the new WinRM 2.0 CTP HERE.

I recently indicated that I was able to install this CTP2 *over* CTP1 on Server 2008, Server Core 2008 (actually over WinRM 1.1 in this case), and also I just successfully tested Vista SP1.

PowerShell Dashboard : ASP.NET, Silverlight and PowerShell in a shaker !

Check this out HERE:

"Here's a little video of my "coming soon" open source project called "PowerShell Dashboard" (PoshBoard for friends)..."

This is cool!

Friday, July 4, 2008

Windows PowerShell Virtual User Group #6--VIDEOS

Finally, I'm posting the videos and slides from my sixth user group meeting announced HERE.

I'm limited to 20-25MB/file for my SkyDrive account. I have problems uploading files if they are bigger than that. Sorry!

*Marco Shaw introduction.

*Bruce Payette (Microsoft): PowerShell v2 modules.

*Wassim Fayed (Microsoft): PowerShell v2 remoting.

*Hal Rottenberg: Managing VMware Infrastructure using PowerShell.

*Marco Shaw closing.

Wednesday, July 2, 2008

Just a note on my MVP award

D'oh! I've done a few things online last week and also published a few PowerPoint presentations and Live Meeting recordings, where I mis-stated a detail regarding my MVP award...

I was awarded in October 2007, not October 2008... I'm hoping that I do get re-awarded though!

TechNet Magazine article: complimentary webcast

Along with my TechNet Magazine article just published which I mention HERE, I have posted a webcast HERE that goes along with the article that shows some of the things that are covered in the article.

TechNet Magazine article: Windows PowerShell in System Center Operations Manager

The article I wrote is now ONLINE! HERE.

Many thanks to the magazine editor and Roger Sprague from the Microsoft OpsMgr team for helping put this together and making it through the editing process. The article also gives credit to everyone that helped out including Pete Zerger (MOM MVP). Also, a special thanks to Stefan Stranger from Microsoft also, who blogged about the article HERE.

Check it out! It compliments some recorded sessions I recently did HERE.

Monday, June 30, 2008

Operations Manager 2007 and PowerShell recording

I did a presentation on Operations Manager 2007 and PowerShell, aka Command Shell for the System Center Virtual User Group's inaugural meeting announced HERE.

Here's is the roughly 50 minutes session that I did HERE (75MB/49 minutes 36 seconds).

Now, I've split up the recording into smaller sections for individual downloading:
1. Introducing myself (0.7MB/30 seconds).
2. General introduction to Windows PowerShell (14MB/8 minutes).
3. My upcoming TechNet article on Operations Manager and PowerShell (2MB/ 1 minute 35 seconds).
4. Operations Manager Command Shell (34MB/18 minutes).
5. A brief discussion of objects in .NET (12MB/7 minutes 22 seconds)
6. Customizing Operations Manager alerts (13MB/5 minutes 42 seconds).
7. Creating Command Shell scripts (2.5MB/1 minute 13 seconds).
8. Creating custom Command Shell reports (2.7MB/2 minutes).
9. Getting Command Shell help (1.5MB/1 minute 12 seconds).

Please don't hesitate to leave comments. I really appreciate them!

Quest PowerPack Challenge '08

(Post copied from HERE.)

"Quest is holding a PowerGUI scripting contest starting tomorrow July 1. If you are not familar with PowerGUI, it is a PowerShell scripting and execution GUI. If you aren't already a PowerGUI user, here is a great opportunity to kick the tires. If you are already a PowerGUI user, here is an opportunity to turn that skill into prizes (winners recieve $250 and $500 gift certificates to Amazon.com)."

For more information, check Dmitry's blog HERE.

Full disclosure: I am also one of the judges.

Sunday, June 29, 2008

WinRM 2.0 CTP2 installs on Server 2008 Core

I reported HERE in May that the original WinRM 2.0 CTP would not install on Server Core.

As I mentioned last week HERE , there is a new 2.0 CTP2 build that was just released.

I'm glad to report that installs perfectly on Server Core 2008, and that on top of the built-in WinRM 1.1 that comes with Server 2008.

Friday, June 27, 2008

PowerGadgets MVP program update

Last year PowerGadgets came out with a "PowerGadgets MVP" program where community leaders/influencers could get a free NFR license of their PowerGadgets product.

I found out this week, that this has been renamed as the "PowerGadgets ISV Program". Community leaders/influencers can still qualify for a free NFR license by filling out the form HERE.

Poll (please vote!): How do you prefer to have audio over the 'net?

I've added a new poll on the site:

"If you'd join/listen to a virtual meeting over the Internet, you'd prefer:
*Getting audio over PC speakers
*Getting audio over the telephone
*Would prefer to have both methods"

Please scroll down and enter your vote in the poll on the right-hand side.

WinRM 2.0 CTP2 test on Server 2008

WinRM 2.0 CTP2 was recently released and I mentioned it HERE.

I just tried a WinRM 2.0 CTP -> CTP2 upgade where I simply run the installer on a Server 2008 systems, and all went well (after a reboot).

I successfully ran a start-psjob before and after the uprade as a simple test of the PowerShell v2 CTP2 connection to WinRM 2.0 CTP2.

PowerShell Usability Study

PowerShell Usability Study, July 22 to July 29, 2008 at Redmond, WA

Microsoft Usability is conducting a study focusing on the remoting feature of PowerShell version 2 from July 22 to July 29, 2008. This is a great opportunity for IT Administrators who have experience working with PowerShell to provide feedback and help improve the user experience of PowerShell version 2.

The study will be conducted in a lab setting on Microsoft’s main campus in Redmond, Washington. It is important for you to know that you do not need to prepare anything for this. We want to learn from you, the experts, to determine what needs to be improved in our software.

If you are interested or know someone who could be interested in participating, please email us at itusable@microsoft.com with PowerShell in subject line. For information on other studies and to learn more about Microsoft's User Research program email us.

Wednesday, June 25, 2008

Windows PowerShell Virtual User Group--UPDATE

*We had about 35 attendees last night.
*Things went mostly well.
*I'll have some information posted tomorrow, and the recordings edited probably for Tuesday next week.

Master post - WPVUG

This is a master post for information specific to my PowerShell virtual user group.

Meeting #10 (May 2009):
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/).
*Live Meeting Recording

Meeting #9 (February 2009):
Doug Finke: Data visualization in PowerShell.
Chad Miller: SQL Server PowerShell Extensions.
James Brundage (Microsoft): Using WPF from PowerShell.
**Unfortunately, the video for this meeting is not available.**

Meeting #8 (January 2009):
June Blender (Microsoft): "Exciting new help features in PowerShell v2".
Compellent (vendor): Data Center management: System Center Command Set for Windows PowerShell.
James O'Neill (Microsoft): His PowerShell library for managing Hyper-V.
*Live Meeting recording

Meeting #7 (December 2008):
Nathan Winters (MVP): "Exchange 2007 from PowerShell"
Joel (Jaykul) Bennett: "PowerShell tools for the Huddled Masses"
Idera (vendor): "PowerShellPlus graphical script editor"
*Live Meeting recordings

Meeting #6 (June 2008):
Bruce Payette (Microsoft): "PowerShell v2 modules"
Wassim Fayed (Microsoft): "PowerShell v2 remoting"
Hal Rottenberg: "Managing VMware Infrastructure using PowerShell"
*Live Meeting recordings
*Bruce Payette PowerPoint: v2 modules
*Hal Rottenberg PowerPoint: VMware and PowerShell

Meeting #5 (April 2008):
Bart De Smet (Microsoft): "Focus on extensibility (cmdlets and providers) and discuss v2 features: script cmdlets and internationalization"
Steven Nelson (Microsoft): "MSDN/SDK PowerShell documentation"
*Live Meeting recordings

Meeting #4 (February 2008):
Darren Mar-Elia (MVP): "Managing Group Policy with PowerShell"
Richard Siddaway (MVP): "Windows Server 2008 and WMI"
*Live Meeting recordings

Meeting #3 (January 2008):
Lee Holmes (Microsoft): "PowerShell: Pragmatic Programming, and Everyday Automation"
Karl Prosser (MVP): "Embrace the Admin Development model with agility by using tools and workflow that produce efficient, consistent results"
Brandon Shell (MVP): "Custom Objects in PowerShell"
*Live Meeting recordings

Meeting #2 (December 2007):
Don Jones (MVP): "New PowerShell Community site, Sapien's 2nd edition of PowerShell: TFM, and Sapien's PowerShell training"
Oisin Grehan (MVP): "PowerShell Community Extensions and project on Codeplex called PSEventing"
Jeffrey Snover (Microsoft): "The new PowerShell 2.0 Community Technology Preview (CTP)"
*Live Meeting recordings

Meeting #1 (October 2007):
Keith Hill (MVP): "PowerShell Community Extensions"
PowerGadgets (vendor): "PowerGadgets snap-in"
Marc van Orsouw (MVP): "PowerTab"
*Live Meeting recordings

New WinRM 2.0 CTP2 build - June 20th

I've recently blogged about issues with the original WinRM 2.0 CTP build from May. I just noticed a new CTP build is available HERE.

I don't have confirmation that the issues with Server Core have been fixed. I also noticed the download doesn't have a seperate .CHM help file, so I'm unsure if the (hopefully, new) .CHM is packaged in the installer or not available yet.

Tuesday, June 24, 2008

PowerShell virtual user group--TONIGHT!

Reminder... PowerShell virtual user group meeting tonight. See details HERE.

You can't miss it: Bruce Payette! Wassim Fayed! Hal Rottenberg!

Thursday, June 19, 2008

System Center Virtual User Group presentation

I'll be presenting on Thursday, June 26th, at the new System Center Virtual User Group announced HERE.

I'll be doing a presentation on the Operations Manager Command Shell, which is basically PowerShell with a few customizations specific to Operatations Manager (a snap-in is loaded, a .ps1 is also loaded at launch for additional customizations).

I'm going to be doing a quick PowerShell intro, then present some tips and tricks when using the Command Shell.

Tuesday, June 17, 2008

MSDN LAB: Test v2 features (without installing)!

Thanks for /\/\o\/\/ for this information!

There's a new "MSDN Virtual Lab Express" out on PowerShell v2 features HERE.

Want to "test drive" v2 or need some guidance on what's new, and how to use it? There's a 20 page PDF that also comes when you sign up for the lab (even if you don't actually run or complete it, you can still download it).

Saturday, June 14, 2008

PowerShell and Office 2007

Until just recently, one of the only ways to use PowerShell to work with the Office 2007 Suite (Word and Excel [1] primarily) was via COM. Unfortunately, COM access can be relatively slow some times.

A new CodePlex project has just started up and is blogged on the PowerShell Team blog HERE.

Definitely looks promising.

1. Yes, one can use Excel to save a particular file as a CSV, then use the *-csv cmdlets to work with the data.

BgShell – Background Shell

I think Lee Holmes started off something called "BgShell" HERE.

Since then, it has been added as a CodePlex project HERE.

Quote from the site:
"BGShell is a lightweight PowerShell 2.0 host written using Windows Forms."

* Tab expansion
* Syntax highlighting
* Visual Studio debugger-like tooltips
* Tabbed interface

The last 2 features listed above likely only work on Vista though.

WinRM 2.0 CTP on Server Core

I recently blogged HERE that the WinRM 2.0 May CTP would not install on Server Core 2008. I had posted an issue on the Connect web site HERE.

The feedback item was updated by Microsoft as being fixed. I expected this was going to be fixed soon. As I recently HERE, a new 2.0 CTP build is due soon.

PowerShell workshop in Fredericton, NB

I'm working with UNB and the Fredericton .NET user group to possibly put on a one-day PowerShell workshop in early October.

It could possibly be a 4 to 6 hour workshop during business hours. If people aren't able to attend the day session, I maybe put on another 1 hour talk at the .NET user group that evening.

New System Center Virtual User Group

A new System Center Virtual User Group has started up HERE recently.

The first meeting is tentatively planned for June 26th at noon CST.

I will be doing a 20-30 minute presentation on using PowerShell within System Center Operations Manager 2007 (aka Command Shell).

I'm planning to do a quick overview of PowerShell within OpsMgr, then talk about creating reports from the Command Shell.

Friday, June 13, 2008

Windows PowerShell Virtual User Group Meeting #6

Windows PowerShell Virtual User Group Meeting #6

Time: June 24, 2008 at 8PM EST (New York time)

Place: Online via Live Meeting 2007

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

This is our sixth virtual event. Invited speakers that will talk about various PowerShell-related topics: Bruce Payette (Microsoft), Wassim Fayed (Microsoft), Hal Rottenberg.

To join for audio:
Toll free: +1 (866) 553-8146
Participant code: 5592528585

To join for video:
Unable to join the meeting? Follow these steps:
1.Copy this address and paste into your web browser:
2.Copy and paste the required information:
Meeting ID: 5H2F88
Entry Code: 8^-\zqX

8:00PM-8:10PM: Introduction
8:10PM-8:40PM: Bruce Payette (Microsoft)
8:40PM-9:10PM: Wassim Fayed (Microsoft)
9:10PM-9:40PM: Hal Rottenberg
9.40PM-9:50PM: Closing

Speaker topics:
*Bruce Payette (Microsoft): PowerShell v2 modules.
*Wassim Fayed (Microsoft): PowerShell v2 remoting.
*Hal Rottenberg: Managing VMware Infrastructure using PowerShell.

All details related to this event will be posted on http://www.powershellcommunity.org.
(NOTE: This is delivered via Live Meeting 2007. It is possible that you may have to download and install the Live Meeting 2007 client which can take possibly up to 10 minutes typically.)

PowerGadgets, Shell Tools

Thursday, June 12, 2008

User group meeting updates

1. Richard Siddaway's UK user group: Meeting on June 17th.

Dmitry Sotnikov from Quest will be talking about PowerGUI and their AD cmdlets. Dmitry's talk is supposed to be available via Live Meeting, but the connection details haven't been posted yet.

2. My own virtual PowerShell user group: Meeting on June 24th starting at 8PM EST.
I'm going to be posting the details soon. At this point, the speakers are:
*Hal Rottenberg on VMWare
*Bruce Payette (Microsoft) on v2 modules
*Wassim Fayed (Microsoft) on v2 remoting

Friday, June 6, 2008

PowerShell v2 CTP/CTP2 error: "Error loading the extended type data file"

Over the last few months since the v2 CTP was released last November, from time to time, I've come across users getting this error when starting the v2 CTP/CTP2:

Error loading the extended type data file:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\types.ps1xml(257) :
Error in type "System.DirectoyServices.DirectoryEntry":
Exception: Cannot convert "Microsoft.PowerShell.AdapterCodeMethods" to "System.Type".
C:\WINDOWS\system32\WindowsPowerShell\v1.0\types.ps1xml(264) :
Error in type "System.DirectoyServices.DirectoryEntry":
Exception: Cannot convert "Microsoft.PowerShell.AdapterCodeMethods" to "System.Type".
C:\WINDOWS\system32\WindowsPowerShell\v1.0\types.ps1xml(275) :
Error in type "System.IO.DirectoryInfo":
Exception: Getter method should be public, non void, static, and have one parameter of type
C:\WINDOWS\system32\WindowsPowerShell\v1.0\types.ps1xml(306) :
Error in type "System.IO.FileInfo":
Exception: Getter method should be public, non void, static, and have one parameter of type

What seems to have happened in most cases is that an attempt was made to uninstall PowerShell v1 manually.

I'm going to find some time hopefully before the end of the month to test this, but I believe the root cause is that when v1 is removed manually, DLLs in the .NET GAC (C:\Windows\Assembly) are left there.

It appears that the v2 CTP installer isn't set to overwrite these DLLs, so they remain as the older counterpart, and cause issues with v2 being able to load properly without any errors.

Thursday, June 5, 2008

PowerShell Virtual User Group update

Seems everyone has been busy. I've been trying to line up at least 2 speakers for my next PowerShell virtual user group, but have been unable to find a particular date/time that's good for everyone.

I also have a couple of subjects I'd like to present, but I haven't been able to find the time to put them together.

I'm going to try for one more before the end of June, then I'll take a break until mid-September.

WinRM 2.0 CTP: CTP2 due soon

I got word yesterday that we should be seeing a second CTP of the new WinRM 2.0 very soon.

There should be some documentation updates. In particular, I provided some feedback on the lack of details around hosting WinRM within IIS.

So, I'm hoping for these documentation updates, and I also understand that this should resolve the installation issue on Server 2008 Core.

Tuesday, May 27, 2008

NEW: Windows PowerShell Refcard by Bruce Payette

A very cool reference card, aka "refcard", has just been put up HERE.

It is written by one of the lead PowerShell developers at Microsoft, Bruce Payette.

What's great is it gets right to the point for PowerShell newcomers. Make sure to pass the word around.

WinRM 2.0 CTP (May 2008) install on Server Core--UPDATE

In my last post HERE, I indicated that there seems to be an issue with the new WinRM 2.0 CTP (May 2008) and Server Core 2008.

The WinRM team has confirmed the issue. They expect to ship a updated CTP some time in June that should address this issue with Server Core.

Monday, May 26, 2008

WinRM 2.0 CTP on Server Core--won't install

The latest and greatest PowerShell v2 CTP2 requires a new WinRM 2.0 CTP so that remoting will work on Vista SP1 and Windows Server 2008. As Aleksandar Nikolic pointed out to me last week, it appears the WinRM CTP won't install on Server Core.

All I see is a message stating "The update does not apply to your system".

I've just fired off an email to the WinRM PM at Microsoft to get her feedback on this issue.

Tuesday, May 13, 2008

SCOM: Installing the Command Shell elsewhere

I've been learning a lot about System Center Operations Manager (SCOM) 2007 lately. I had wondered if one could easily make the Command Shell available on other systems.

I came across this great post HERE on doing just this.

It is very detailed. I haven't tried it out yet, but it definitely looks like it covers everything.

Thursday, May 8, 2008

MS Press author: Windows Server® 2008 Administrator's Companion

Now that the book is officially released, I can publically announce that I contributed about 80 pages to the newly released Windows Server® 2008 Administrator's Companion.

I wrote a complete chapter on PowerShell aimed mostly as a quick overview/introduction for administrators that are new to PowerShell.

Key topics are reviewed, and then some examples are provided using the concepts discussed.

Many thanks for Charlie Russel for the opportunity! He also helped out a lot with the editing process, writing the introduction section, and valuable input throughout the chapter.

Tuesday, May 6, 2008

My virtual user groups

I run a virtual PowerShell user group and have meetings roughly every 2 months. I recently had meeting #5.

My question to all my readers: Are you watching the recordings of my sessions? The live audience is dropping from each meeting to the next (and I know I'm not putting much of a marketing push on the upcoming meetings).

Do you have any kind of feedback on the user group? Positive and negative comments welcome and appreciated.

I'm doing this as much for PowerShell users out there as I am for my own personal education.

Tell me what you think!

CTP2: get-random -maximum

Just something to note, when using the -maximum flag to the new get-random cmdlet, you're actually defining a value that is considered exclusive. In other words, you might think the following will give you numbers between 1 and 10 (10 being inclusive):

get-random -minimum 1 -maximum 10

In actuality, the above gives you numbers starting at 1 to 9 inclusively:

CTP2>1..100|foreach-object{get-random -min 1 -max 10}|
>> group-object|sort-object name|
>> format-table -a name,@{label="Count";exp={"#"*$_.count}}

Name Count
---- -----
1 ###################
2 #######
3 ##########
4 ###########
5 #####
6 ######
7 ##############
8 ###############
9 #############


The above is just a quick way to show the results visually. Each "#" represents the number of times that particular number showed up after 100 tries.

Friday, May 2, 2008

Windows PowerShell User Group #5--VIDEOS

Finally, I'm posting the videos and slides from my fifth user group meeting announced HERE.

I'm limited to 20-25MB/file for my SkyDrive account. I have problems uploading files if they are bigger than that. Sorry!

*Marco Shaw introduction.

*Bart De Smet (Microsoft): Focus on extensibility (cmdlets and providers) and discuss v2 features: script cmdlets and internationalization.

-PowerPoint presentation (PowerPoint 2007 required, PPT 2007 viewer available online)

*Steven Nelson (Microsoft): MSDN/SDK PowerShell documentation.

*Marco Shaw closing.

Thursday, May 1, 2008

New book coming: Windows PowerShell Pocket Reference

Lee Holmes is at it again: Windows PowerShell Pocket Reference. This should be handy to carry around, and a good update to his earlier quick reference PDF.

Wednesday, April 30, 2008

PowerGadgets: Changes underway

PowerGadgets are one of my favorite 3rd party snapins for PowerShell. Things have been quiet on their site lately, but they are starting to make a few announcements.

One thing is a new pricing structure, which should bring the product within reach of any IT budget.

Monday, April 21, 2008

PowerShell error: Out-File: Unknown error "-1"

On the PowerShell newsgroup back in March, Peter Hultgren, indicated that was was getting an error from PowerShell that looked like this:

PS C:\> Get-Process Out-File -FilePath c:\test.txt
Out-File : Unknown error "-1".
At line:1 char:23
+ Get-Process Out-File <<<< -FilePath c:\test.txt

This would occur anytime he tried to write a file. Even trying to write to a different directory or usind add-content or set-content equally failed.

I raised the issue on a private MVP mailing list, and Lee Holmes, from Microsoft, quickly answered back that this was likely caused by an application named "Proventia Secure Desktop".

I provided the info back to Peter, and he confirmed that he had the application installed and that exiting it enabled PowerShell to work properly in this case.

Lee also added that this issue has come up a few times, and Microsoft submitted a bug through their bug process, but it doesn't seem to have been confirmed or tested by the vendor (http://www.iss.net/support). If you run accross this issue, please let the vendor know somehow either directly through their web site or via an account representative.

Wednesday, April 16, 2008

Windows PowerShell Virtual User Group Meeting #5

Windows PowerShell Virtual User Group Meeting #5

Time: April 22nd, 2008 at 8PM EST (New York time)
Place: Online via Live Meeting 2007

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

This is our fifth virtual event. Invited speakers that will talk about various PowerShell-related topics: Bart De Smet (Microsoft), Steven Nelson (Microsoft), Hal Rottenberg.

To join:
Unable to join the meeting? Follow these steps:
1.Copy this address and paste into your web browser:
2.Copy and paste the required information:
Meeting ID: 3W8JZZ
Entry Code: 8^-\zqX

8:00PM-8:10PM: Introduction
8:10PM-8:35PM: Bart De Smet (Microsoft)
8:40PM-9:00PM: Steven Nelson (Microsoft)
9:05PM-9:30PM: Hal Rottenberg (PowerScripting Podcast)
9.30PM-9:35PM: Closing

Speaker topics:
*Bart De Smet (Microsoft): Focus on extensibility (cmdlets and providers) and discuss v2 features: script cmdlets and internationalization.
*Steven Nelson (Microsoft): MSDN/SDK PowerShell documentation.
*Hal Rottenberg: Managing VMware Infrastructure using PowerShell.

All details related to this event will be posted on http://www.powershellcommunity.org.
(NOTE: This is delivered via Live Meeting 2007. It is possible that you may have to download and install the Live Meeting 2007 client which can take possibly up to 10 minutes typically.)

PowerGadgets, Shell Tools

Monday, April 14, 2008

IIS 7.0 PowerShell Provider!!

"IIS 7.0 PowerShell Provider Tech Preview 1

Finally, IIS 7.0 has a PowerShell Provider!

The IIS7 PowerShell Provider allows you to

  • Create Web-Sites, Web Applications, Virtual Directories and Application Pools
  • Change Simple Configuration Properties on Web-Sites, Application Pools, Web Applications and Virtual Directories
  • Add and Change Complex Configuration Settings
  • Query Run-time Data (Web-Site State, Application Pool State, Currently Executing Requests)
  • Execute Advanced Configuration Tasks, Scripting, Integration with other PowerShell Snap-Ins and features
  • Search and Discover Configuration Settings"

Check it out HERE.

I can't wait to see what other goodies should be coming out in the next couple of months with the MVP Summit and MMS!

Next virtual PowerShell user group meeting

I'm planning another virtual user group meeting for April 22nd. I'll be announcing more details perhaps by tomorrow.

I am planning on having 2 people from the "PowerShell documentation team" at my meeting next week. One works more on the TechNet/built-in documentation side, and the other on the MSDN/SDK side of the house.

If you have any questions/comments, etc. you'd like to have them cover in the 20-30 minutes that they will be allocated, post a comment here.

Friday, April 11, 2008

My experiences running a *virtual* user group (part 1)

This is scheduled to appear in Culminis' The VOICE newsletter out officially on May 9th, 2008.

This is one of my longest postings *ever*! ;-)



Seeing as Windows PowerShell was so new, and I live in a smaller town in Eastern Canada, I didn't think I would have an opportunity to actually start a regular local user group. So I started off looking for a bigger pool of professionals and try to start a Canadian user group (similar to UK UG PS).

I'm sure when it hit me to create a virtual PowerShell group, but it is likely after I started having various discussions with Rodney Buike from Microsoft.

With the help of Rodney, I have Live Meeting server access and could hold my first meeting. Since that first meeting, I was able to find access to a Live Meeting server because I had just received a MVP award, and had made some new contacts.

The story so far

I had my first meeting late in 2007. I decided to have my first meeting at noon EST to try that out. My main reason for doing something at that time was that I had a presenter from The Netherlands. The attendance for that meeting peaked at roughly that meeting. Currently, I have had three more meetings since, and am working on others. The attendance has dropped a bit, but I have also been very busy, and haven't put as much effort into marketing my meetings. Besides, the proceedings are available for anyone to download and view at their own convenience.


My meetings so far have been mostly a 85-15 mix: 85% from North America and 15% other. One of the features of Live Meeting is being able to create a quick voting page and have participants indicate what continent they are from.


I had 50 or so at meetings #1 and #2, then about 25 at #3, then just 10 at #4. I don't have stats on offline viewing of the videos.

How the sessions work

Typically, I either have my sessions at noon EST or 8PM EST. The reason basically is to open up the possibilities of who can attend and present at the live sessions. So, for the most part, I believe other one of these sessions is usually acceptable to anyone in North America, and when I have someone from another continent talk, then I likely try to set up a noon EST session so it isn't too late in Europe, for example.

I usually start off with a 10 minute introduction presenting the agenda, sponsors, and running a few polls to get some general information about who is attending (continent, experience with PowerShell). Then each speaker is allocated about 20-30 minutes each to present. I'll usually invite 2 to 3 speakers for one meeting.

Previously, I kind of had the intention of organizing the sessions like this: Microsoft invitee, vendor invitee, general invitee. So for each session, I would try to invite a Microsoft employee to present, have a 3rd party vendor present, and then some people from the community in general.

The presentations go for a total of 1-2 hours.

Finally, I close off the last 10 minutes talking tentatively about the next session: when, presenters, etc. I usually run two closing polls: sessions too long or short?, will you attend the next session?. Usually the results from those 2 polls are positive.


The majority of my presenters have been from North America, but I have also had a presenter from Russian, and The Netherlands, as I previously mentioned. One of my upcoming presenters is from Israel.

Of my four sessions so far, I've had a mixture of about five general presentations, four vendor related presentations, and two Microsoft employees. Of the general sessions, all the presenters were at the time, or currently are, Microsoft MVPs.


Here might lie one of my problems. I don't have any set way to get the word out about my user group. Usually, at least one week before, I'll post something on my blog, a few mailings lists that are PowerShell related, and on the PowerShell newsgroup. Also, I'll put on a notice on www.powershellcommunity.org.

I could definitely put some more thought into getting possibly a domain name and some web space of my own for my user group information.

Level of attendees

For the most part all of my sessions so far have been intermediate to advanced. I'm not currently planning any introduction sessions, and besides, giving a 20-30 minute introduction session on something doesn't seem like the most efficient use of anyone's time. Furthermore, for the most part, people who have come to my session are already pretty experienced with PowerShell and have thus managed to find out about my user group.

Using Live Meeting

In a future posting, I'll talk more about what I like about Live Meeting.

Things that can go wrong

The biggest outstanding problem I still have is occasionally not taking myself off of mute and talking away, while nobody can hear me. With each session, I try to be more and more conscious as to whether I'm on mute or not.

Session is recorded. Now what?

The process to get Live Meeting to record is simple, and also getting the recorded session to your local computer is easy also. Most of my raw, recorded sessions have been about 10MB in size which is pretty good. Now, that's raw... What if you want to start cutting/editing out parts, then the fun begins. The process to get from a Live Meeting recording to an edited WMV format is tough from my experiences. I'll cover the process in a future posting. For now, I'll just say that an edited video turns out to be about ten times bigger using my method.

For the time being, here's all the recorded sessions from my previous meetings:

#1: http://marcoshaw.blogspot.com/2007/10/windows-powershell-virtual-user-group.html

#2: http://marcoshaw.blogspot.com/2007/12/windows-powershell-virtual-user-group-2.html

#3: http://marcoshaw.blogspot.com/2008/02/windows-powershell-virtual-user-group-3.html

#4: http://marcoshaw.blogspot.com/2008/02/windows-powershell-virtual-user-group_21.html

The videos are uploaded to my free 5GB SkyDrive account for your viewing pleasure. Because of the apparent limit with maximum file sizes, each file is usually a maximum of 25MB, so I have had to split individual sessions into 2, sometimes 3 smaller files.

Help me!

For now, most of the information is on my personal blog (http://marcoshaw.blogspot.com). Sign up to my RSS feed if you'd like to be kept up-to-date of anything going on.

OK, now I'm offering myself as much as to try to help anyone with my limited experience, to offer anything I may have gathered so far, or even to present at your own virtual user group.

Feel free to email me directly at: [EDIT] "by leaving a comment on this post". If I don't respond within 48-72 hours, then maybe your message got flagged as spam because I'm usually on top of my email, and answer quickly (maybe too briefly also).


Check out http://www.microsoftgroupevents.com. You can use this site to register your events, and then you can use that site to manage attendees who go to the site to register for your event.


I'm excited that Culminis has begun offering this service to user groups. This is definitely something groups can use on occasion to invite external people to listen in or present. In the colder months, I know I'd much rather be sitting at home drinking a cup of hot chocolate while somebody presents an interesting topic!

Recently enough, the UK PS UG (http://www.get-psuguk.org.uk/) has started having the occasional presentation via Live Meeting so external people could do remote presentations to the group. Just a few weeks ago, a new System Center virtual user group (http://www.systemcenterusergroup.com/) started up using my virtual user group idea. I've actually already offered to do a PowerShell presentation for them.

For the time being, I'm not currently using the Live Meeting server Culminis is currently offering, but the experience should be the same.

Monday, April 7, 2008

TechMentor--San Francisco 2008

If you recently attended one of my 2 PowerShell sessions at TechMentor in San Francisco, I had indicated I would post updated material here.

Instead, I've just send all of my updated materials to the TechMentor gang for them to post the updated content (and scripts) on the virtual site.

I figure that way, I don't get into any legal trouble by going the "official" route.

If you have any questions/concerns, please leave a comment here with your email address.  I won't publish your command and/or email, but will reply to you directly.

2008 Scripting Games--Guest commentator

A bit late with this one...

As part of the 2008 Scripting Games last February, I was invited to post a guest solution.  I was picked for event 8, and you can read my write up HERE.

Wednesday, March 26, 2008

NetCmdlets v2!

I had been hinting recently about some news coming from an established PowerShell vendor:  /n software has just announced version 2 of their NetCmdlets HERE.  It is currently available as a beta release.

Some of the improvements are noted on the page.  Not currently mentioned on the page is that some of the cmdlets now support scriptblocks for values passed to parameters (I don't know which do and which don't).

Now, they've bundled their PowerShell remoting solution into one package.

I'll be blogging more about NetCmdlets soon.  I plan on doing a session on them for my virtual PowerShell user group, and also for the UK PowerShell user group soon.

Monday, March 24, 2008

2008 Scripting Games stats using PowerGadgets

Kirk Munro has put up a script to get some stats from the 2008 Scripting Games.

You'll find his posting HERE with a dashboard image and link to the script he developed.

He did a great job with the script and PowerGadgets!

Windows NETSH Reference

Download HERE.

Windows Server® 2008 Network Shell (Netsh) Technical Reference

Brief Description

The Windows Server® 2008 Network Shell (Netsh) Technical Reference provides a comprehensive command reference for networking technologies such as Dynamic Host Configuration Protocol (DHCP), Network Policy Server (NPS), Network Access Protection (NAP), and Routing and Remote Access Services (RRAS), among many other technologies for which there are netsh commands

Thursday, March 13, 2008

Windows Command Reference

Brief Description

This download describes the use of the command-line tools used to perform various tasks related to Windows Vista, Windows Server 2003, and Windows Server 2008.


The Windows command-line tools are used to perform various tasks related to Windows Vista, Windows Server 2003, and Windows Server 2008.You can use the command reference to familiarize yourself with new and enhanced command-line tools, to learn about the command shell, and to automate command-line tasks by using batch files or scripting tools.


(OK, so this isn't PowerShell, but some of my readers may need to manage Windows 2008 Server Core...)

PowerShell Remoting FAQ

I'm going to start up a PowerShell Remoting FAQ over on PowerShellCommunity.org.  This will mainly deal with the underlying Windows Remote Management service that is used by the v2 CTP as the remoting layer.

Sunday, March 2, 2008

Remoting with PowerShell v1

Definitely a good post HERE from the PowerShell DEV team.  I had wondered whether something could be done for remoting via winrm.  My thinking was more along the lines of the shell that would be used on the server end, but this is a neat solution.

Established vendor will release an update...

I first reported HERE that an established 3rd party vendor was to release an update to their product.  It seems this is going to happen this week.

Friday, February 29, 2008

RunAs Radio spotlight!

I was recently featured on the RunAs Radio HERE.  I talk about how Microsoft is embracing PowerShell internally, WMI's future, .NET Windows Forms and my a bit about my virtual PowerShell user group.

I was a bit late in talking about the Scripting Games...

It was a blast!

Tuesday, February 26, 2008


For the 2007 Scripting Games, I had created a graph HERE of the total entries per each category: VBScript beginner, VBScript advanced, PowerShell beginner, and PowerShell advanced.

I only printed countries with more than 5 entrants though.

I just got a 2008 version to work (except for something minor with "USA" that I'll have to check).

I'll post the results after the games.  It doesn't look like the number of PowerShell entrants will surpass VBscript entrants.  There appears to be quite a few Perl entrants, which is cool.

I'll also try to post a 2008 version of the per country maps I did HERE in 2006.

Thursday, February 21, 2008

The next PowerShell MVP?

My 3 1/2 year old son is getting into PowerShell.  See the second photo HERE.

Windows PowerShell Virtual User Group Meeting #4--VIDEOS ONLINE

I first announced meeting #4 HERE.

Finally, I have the videos ready for offline viewing. 

(Each video has to be cut to sizes smaller than about 22MB, otherwise, my session to SkyDrive will timeout.)

*My introduction.

*Darren Mar-Elia (MVP): "Managing Group Policy with PowerShell"

*Richard Siddaway: "Windows Server 2008 and WMI"

*My closing.

NOTE: Kirk Munro had to cancel.

Tuesday, February 12, 2008

Wrox PowerShell Development book is out (or very soon)!

Looks like the new PowerShell Development book from Wrox is out.  You can view the details HERE.

What's cool for everyone is that Wrox has made the source code available as a free download.  There are some comments in the source code also.  So, for people looking for more development examples, beyond the PowerShell SDK, you now have them.

This book assumes the reader has a relatively good base of C# experience.  I've written a cmdlet or two, and this book will definitely challenge me to go to the next level and beyond!

Friday, February 8, 2008

Microsoft event in Toronto: CCE

I'll be attending the Community Connection Event in Toronto on February 26th in the evening.  You can find more details HERE.

Basically, the event flow:

Intros - welcome and overview of the night.

State of the industry - perspective from CIPS (Canadian Information Processing Society) & ICTC (Information & Communications Technology Council).

Technology Demo - showing some high value pieces of new technology and how they could be implemented into your environment with minimal change.

Community story - perspective on the impact that participating actively in your LOCAL community and the rewards it brings.

Learning Circles - a "vote with your feet" concept of discussing 5 topics with a facilitator and bringing back the groups findings to the larger group.

Social Networking - meet other experts and LOCAL resources to strengthen your support infrastructure LOCAL to you - in your community.

This will be an opportunity to meet more people from across Canada that are passionate about IT!

Windows PowerShell Virtual User Group Meeting #4

Windows PowerShell Virtual User Group Meeting #4

Time: Thursday, February 14th, 2008 at 12PM (noon) (New York time)
Place: Online via Live Meeting 2007

To sign up:

Registration site: http://www.clicktoattend.com/?id=125038
Event Code: 125038


This is our fourth virtual event.  Invited speakers that will talk about various PowerShell-related topics: Darren Mar-Elia (MVP), Richard Siddaway, Kirk Munro (MVP).

Speaker topics:
*Darren Mar-Elia (MVP): "Managing Group Policy with PowerShell"
*Richard Siddaway: "Windows Server 2008 and WMI"
*Kirk Munro (MVP): "Extending PowerGUI: How to create your own custom administrative console and share it as a PowerPack"

To join via Live Meeting:

Toll free number:
+1 (866) 268-4668
Participant code: 554037700

Unable to join the meeting?  Follow these steps:
1.Copy this address and paste into your web browser:
2.Copy and paste the required information:
Meeting ID: 3D96QT
Entry Code: W%.n}3w

12:00PM-12:10PM: Introduction
12:10PM-12:45PM: Darren Mar-Elia (MVP)
12:45PM-1:20PM:  Richard Siddaway
1:20PM-1:55PM:   Kirk Munro (MVP)
1.55PM-2:00PM:   Closing

*All details related to this event will be posted on http://www.powershellcommunity.org.

*This is delivered via Live Meeting 2007.  It is possible that you may have to download and install the Live Meeting 2007 client which can take possibly up to 10 minutes typically.

*This meeting will be done via phone conferencing.  I have several toll free numbers available.  Leave a comment on my blog if you need a toll-free number outside of North America, and I'll see if I can find one.

PowerGadgets, Shell Tools

2008 Winter Scripting Games: Invited to submit a solution

As part of the 2008 Winter Scripting Games, I have been asked to provide a solution to an event ahead of the "official" solution being posted.  My solution, along with comments, etc., will be posted on the site when the solution to the event is posted (when due according to the Games schedule).

I was chosen to answer event #8 in the advanced category.  Needless to say, I'm going to be using PowerShell to solve it.

Now, #8 has the 2nd highest number of points assigned to it (#10 being the highest), so it looks like I have some work to do!