PowerShell Summit North America 2013 Call for Content

In case you haven’t heard already, there is a great opportunity to learn a lot more about PowerShell coming up next year.  It’s the PowerShell Summit North America 2013 conference, and it is held on Microsoft campus in Redmond, WA from April 22 to 24, 2013.  This conference is run by the PowerShell.org community, and it will present a ton of deep technical content on anything to do with PowerShell.  What content will be covered, you ask?  Well, that’s up to you.

We are now accepting content proposals from anyone who wants to present at this conference.  All you need to do to submit your session proposals is to add a new topic to the Session Submissions forum on PowerShell.org for each session you want to present.

Who can present?

Anyone who has something to share with other PowerShell experts and enthusiasts that will help them learn more about PowerShell can propose a topic they would like to present at this conference.  There will be a survey shared with the community that allows them to vote for the sessions they want to see, so ultimately the community will decide who can present at this conference.  Note that when reviewing the community results, the conference organizers reserve the right to make some modifications to the sessions that are selected to balance the topics that are discussed and to be able to better accommodate speakers who are offering to present multiple sessions.

What topics will be discussed?

There will be around 100 PowerShell experts and enthusiasts at this conference, including some PowerShell MVPs, some non-PowerShell MVPs, and some members of the PowerShell team.

At a conference like this they will be looking for advanced sessions that show them deep technical content on various aspects of PowerShell as well as real-world practical applications of PowerShell.  They’ll likely want to learn more about workflow, remoting, CIM, and many other technologies used by PowerShell.  They’ll also likely want to learn about how PowerShell is used in practice with PowerShell extensions like PowerCLI to manage vSphere deployments at Scale, or how PowerShell is being used with multiple technologies (SharePoint, System Center Orchestrator, Exchange, NetApp, Active Directory, etc.) to deal with the real-world management challenges that exist in enterprise organizations.  These are just some examples of the topics that might be discussed in sessions at this conference.  It is important to note that no presentations will include any NDA information.  As mentioned, topics will be voted on by the community and then those results will be reviewed by conference organizers to come up with the final list of topics that will be presented at the conference.

Please keep in mind that there will be two tracks for this event: one will have the content with the deepest technical depth, and another will have real world and more intermediate to advanced level content.  With two tracks, you really shouldn’t be shy about submitting sessions if you think you might have something to add.  Chances are, if you’ve been using PowerShell for a while and if you continue to use it very regularly, you probably have knowledge and experience that you can share with others.  Don’t worry about which track your session will ultimately fall in.  The conference organizers will figure those details out as part of their agenda planning.

Where will the conference be held?

The conference will be held on Microsoft campus in Redmond in buildings 40 and 41 from April 22 to 24th, 2013. There may be additional activities surrounding the conference, but the core sessions will be April 22, 23 and 24.

When can I submit a proposal?

You can submit a proposal now.  Simply post your proposal as a new topic on the Session Submissions forum on PowerShell.org for any sessions that you want to present.  Session proposals will be accepted on that forum until October 14, 2012 at midnight PST (take note of that date!).  Once that deadline is met, on October 15, 2012 we will publish a list of all proposals with a voting system that will allow community members to vote for their favorite sessions.  Votes will be accepted over a 2 week period, and the week of October 29th the conference organizers will review the votes and sessions and put together the list of accepted sessions, contact speakers for confirmation, etc.

We strongly encourage you to submit multiple session proposals so that you increase your chances of having a session accepted.  Note that you can submit a proposal even if a related session has already been proposed by someone else.  In fact, if you want to present multiple sessions, I would encourage you to submit the sessions that you want to present, without holding back if a similar session is already proposed.  There are advantages to presenting multiple sessions (see below), and the community will indicate what they want to see in the end anyway.

If you will be attending the conference whether you have a session proposal accepted or not, you should buy your conference ticket as soon as possible to take advantage of the early bird pricing.  If you can only attend this conference if you have enough proposals accepted to cover the bulk of your expenses (see below for details on the benefits of being a presenter), you should submit your sessions now regardless and once the session review process is completed, conference organizers will contact you to make sure you are able to commit to attending and presenting at the conference.  You can also fire me a note if you want to make me aware ahead of time that you can only attend if you have at least 3 sessions accepted, either using my contact me form or via email (on gmail or hotmail, either works, using the nickname I use on this blog as the user id).

Why should I submit a proposal?

Personally speaking, I find presenting information that has been learned through hard work to be very rewarding.  I also find receiving information that others have learned through their hard work to be very rewarding as well.  It’s all about the community participation and sharing of knowledge.  Aside from being proud of your work and sharing it with others, there are more tangible benefits for speakers with accepted sessions as well.

For every session proposal that is accepted (voted high enough by the community and accepted in the final review by the conference organizers), speakers will receive a $300 travel stipend as well as up to $200 to offset 1/3 of their registration cost.  That means someone presenting 3 sessions will receive $900 that they can use towards their travel expenses and a full refund of their registration fee.  This should make it much clearer why it is advantageous to submit multiple session proposals.

One last reason why you should submit a proposal: the value of the conversation that comes with an event like this is extremely high.  You’ll be able to talk to others about your challenges and ideas, learn from their efforts, perhaps find people you want to work with on various community projects, etc.  It’s the networking alone that drives me to attend events like this.

How do I write a proposal?

Each proposal you enter must include three pieces of information:

  • a title for the session you are proposing,
  • your full name, and
  • a 1-2 paragraph description of what the session will contain.

You must create one topic per proposal.  Don’t put all of your sessions on one topic, and don’t reply to current topics when creating proposals, please.

In general when planning your proposal, focus on content that will come with more demos, and less on slide-heavy content.  This is a conference for experts and enthusiasts who are looking for deep technical content on PowerShell-related topics in interactive sessions.  With this crowd, rich, demo-focused sessions will be preferred over slide-heavy sessions.

You should also review some of the proposals that are already submitted as examples.  Keep in mind that the sessions are 35 minutes long with 10 minutes of Q&A at the end (although questions often come up during the sessions at an event like this).  35 minutes may seem like a lot of time, but it goes by quickly, especially when doing demos.

Summary

That’s a lot of information, so here is a summary of the essential points along with links to additional information.

Conference Title PowerShell Summit North America 2013
Conference Website http://powershellsummit.com
Conference Dates April 22-24, 2013*
Location Microsoft Campus, Buildings 40 and 41, Redmond, WA
Session Proposal Forum http://powershell.org/discuss/viewforum.php?f=22
Session Proposal Deadline October 14, 2012 at midnight PST
Session Voting Period October 15, 2012 to October 28, 2012
Final Tally and Processing The week of October 29, 2012
Sessions Announced As soon as possible after October 29th, once the final tally and processing is done and accepted presenters have confirmed their sessions
Forum for Conference- and Session-Related Questions http://powershell.org/discuss/viewforum.php?f=20
Speakers Page http://powershell.org/summit/speak.php
Conference FAQ http://powershell.org/summit/faq.php
Best location to ask PowerShell questions and to help the community with answers http://powershell.org

* With a high probability for a short, half-day event adjacent to this.

I look forward to reading your session proposals!

Thanks,

Kirk out.

Advertisements

Kirk Munro, Product Manager, Architect, and PowerShell MVP for hire

While I have loved working at Devfarm Software for the past 11 months, circumstances have unfortunately forced us to part ways and as a result I am a free agent now and looking for a new place to hang my hat.  Working with Ben Vierck and Brian Butler at Devfarm has been a fantastic experience, and if it wasn’t for the small yet annoying detail that there isn’t enough money in the company to continue to pay my salary and keep the business going full steam ahead, I’d still be working with them today.

I officially stopped working for Devfarm on July 6, but I had a few items for PowerWF 3.0 that I wasn’t quite finished with yet so I spent a good part of last week wrapping up development of those items.  When I wasn’t doing that, I was hard at work on getting the public beta of wmix out the door (something that I’ll talk more about later).  With wmix published and my tasks at Devfarm now complete, it’s time to focus on finding what’s next.

If you or someone you know are looking for a talented Product Manager with:

  • a very strong technical background with 15 years of experience in software development and infrastructure management;
  • recognized deep technical expertise as a 5-time recipient of the Microsoft MVP award for Windows PowerShell, including almost 6 years of dedicated Windows PowerShell experience;
  • experience establishing a brand, building awareness, and leveraging social media in marketing;
  • strong presentation skills and experience presenting at large conferences such as TechEd; and
  • an entrepreneurial spirit
    Thanks,

Kirk out.

This April is “Learn More About PowerShell” Month with the 2012 Scripting Games, the 2012 Microsoft Management Summit, and the 2012 North American PowerShell Deep Dive!

It’s hard to believe that April is almost here already.  Last week we had record high temperatures reaching 31°C (that’s 87.8°F for those of you living south of the border), and the night before last it was -16°C (or 3.2°F).  What wonderful consistency.  Maybe that’s why I like PowerShell so much, because it provides great consistency that just isn’t apparent in so many other places in life (that’s a swell tagline: “Use PowerShell, because it’s more consistent than the weather” Smile).  Anyway, I digress…back to the topic at hand.

This April is “Learn More About PowerShell” month!  Ok, so it’s not official (it’s not like I’m a mayor or anything), but with all of the opportunities to learn about Windows PowerShell in April, it seems like a fitting title, so I’m declaring it that anyway.  Now, where to begin.

2012 Scripting Games

The first Monday in April (that’s April 2, Monday next week) marks the official opening of the 2012 Scripting Games!  The Scripting Games are a great event, because they provide opportunities for beginner and advanced scripters alike to learn more about Windows PowerShell.  There are beginner and advanced divisions, with 10 events in each division.  You participate by visiting the official 2012 Scripting Games page starting on Monday April 2 to see the events that are published so far, and you have one week to submit a solution by publishing a script to the 2012 Scripting Games page on PoshCode for each event that you want to enter.  Note that at the time of this writing, the 2012 Scripting Games page on PoshCode shows information related to the 2011 Scripting Games, so for now just put a reminder in your calendar to check these two links out on April 2.

Once you submit a solution, you can move on to the next event if it is available.  All solutions will be judged by a great panel of expert judges, and once the events close there will be expert commentaries published so that you can learn how different community experts solve these problems with PowerShell scripts.  Watch for my expert commentary to Beginner Event 3 once that event has closed for submissions.

The 2012 Scripting Games will run until April 13, 2012, although you’ll have 7 days from the day that each event is posted, so there will still be some time to compete and get your entries in.  There are many prizes to be won, including grand prizes of full conference passes for TechEd North America 2012 (another great opportunity to learn more about PowerShell), software licenses for products like PowerWF, and more!  Also, don’t delay in getting your entries in, because you’ll barely have time once you’re done to pack your bags for the 2012 Microsoft Management Summit in Las Vegas if you’re going to that conference!

2012 Microsoft Management Summit

In just 2½ weeks from now, the 2012 Microsoft Management Summit (MMS) will start, and it’s going to be an amazing conference this year.  With the upcoming Microsoft System Center 2012 release, and with Windows 8 currently available as a Consumer Preview in the client and the server varieties (both of which include the pre-release version of PowerShell version 3), there are plenty of new opportunities to scale up your PowerShell prowess and scale out your scripting capabilities while learning how to get the most of these new products and platforms by leveraging PowerShell automation.

At the MMS 2012 conference, there are a total of 13 breakout sessions, 3 instructor led labs, and 5 self-paced labs where you can learn more about Windows PowerShell.  There is also a PowerShell booth that will be staffed by members of the Windows PowerShell team and a few PowerShell MVPs.  I’ll be working the PowerShell booth as will Aleksandar Nikolic, so please come see us and ask questions if you have any.  There will also be other booths for products like the Microsoft System Center 2012 release, which comes with even more PowerShell capabilities than before.  Additionally, there are many companies in the Expo hall that leverage PowerShell in their products and/or provide cmdlets to facilitate automation in their environments, such as NetApp, Veeam, Splunk and Devfarm Software (the company that I work for) to name but a few.  I’ll be working the Devfarm booth when I’m not in the PowerShell booth, so if you look around a little you’ll have a good chance of finding me.

If you’re going to MMS 2012, and you want to learn more about PowerShell, make sure you take advantage of these resources while you’re there.  The knowledge passed on to you through one breakout session, lab, or discussion with someone in the learning center or expo hall takes many, many hours to put together, and getting that knowledge first hand can be a huge timesaver for you in the long run!

PowerShell-related Content at MMS 2012

The following list identifies all of the PowerShell-related sessions and resources that have been announced so far for the MMS 2012 conference for your convenience.  To get the most value out of your conference, make sure you add the sessions, labs, and other items of interest to your schedule so that you don’t miss out on these great learning opportunities.  I have highlighted the sessions most interesting to me in bold in the list below.

Type and Level Title Speaker(s) Coordinates
Instructor-led Lab
300/Advanced
SV-IL306 Introduction to Windows PowerShell Fundamentals Dan Reger Monday, April 16,
12:00 PM to 1:15 PM
Venetian Ballroom A
Breakout Session
300/Advanced
SV-B317 Top 10 Things Every Systems Admin Needs to Know about Windows Server 2008 R2 SP1 Dan Stolts Monday, April 16,
3:00 PM to 4:15 PM
Venetian Ballroom G
Instructor-led Lab
300/Advanced
SV-IL307 What’s New in Windows PowerShell 3.0 Lucio Silveira Monday, April 16,
4:30 PM to 5:45 PM
Venetian Ballroom A
Breakout Session
300/Advanced
CD-B334 Understanding Console Extension for Configuration Manager 2007 and 2012 Matthew Hudson Tuesday, April 17,
10:15 AM to 11:30 AM
Venetian Ballroom G
Breakout Session
400/Expert
CD-B406 Configuration Manager 2012 and PowerShell: Better Together Greg Ramsey Tuesday, April 17,
11:45 AM to 1:00 PM
Venetian Ballroom G
Instructor-led Lab
300/Advanced
SV-IL304 Managing Windows Server “8” with Server Manager and PowerShell 3.0 Michael Leworthy Tuesday, April 17,
11:45 AM to 1:00 PM
Venetian Ballroom A
Instructor-led Lab
300/Advanced
SV-IL307 What’s New in Windows PowerShell 3.0 Lucio Silveira Tuesday, April 17,
2:15PM to 3:30PM
Venetian Ballroom A
Breakout Session
300/Advanced
SV-B319 Windows PowerShell for Beginners Jeffrey Snover,
Travis Jones
Tuesday, April 17,
4:00 PM to 5:15 PM
Murano 3301
Breakout Session
200/Intermediate
SV-B205 Overview of Server Management Technologies in Windows Server “8” Erin Chapple,
Jeffrey Snover
Wednesday, April 18,
10:15 AM to 11:30 AM
Murano 3301
Breakout Session
200/Intermediate
SV-B291 Manage Cisco UCS with System Center 2012 and PowerShell Chakri Avala Wednesday, April 18,
2:15 PM to 3:30 PM
Titian 2203
Instructor-led Lab
300/Advanced
SV-IL306 Introduction to Windows PowerShell Fundamentals Dan Reger Wednesday, April 18,
2:15 PM to 3:30 PM
Venetian Ballroom A
Breakout Session
300/Advanced
SV-B313 Windows Server 2008 R2 Hyper-V FAQs, Tips, and Tricks Janssen Jones Wednesday, April 18,
4:00 PM to 5:15 PM
Murano 3301
Instructor-led Lab
300/Advanced
SV-IL304 Managing Windows Server “8” with Server Manager and PowerShell 3.0 Michael Leworthy Thursday, April 19,
8:30 AM to 9:45 AM
Venetian Ballroom A
Breakout Session
400/Expert
SV-B405 Advanced Automation Using Windows PowerShell 2.0 Jeffrey Snover,
Travis Jones
Thursday, April 19,
10:15 AM to 11:30 AM
Veronese 2401
Breakout Session
300/Advanced
AM-B315 SharePoint as a Workload in a Private Cloud Adam Hall,
Michael Frank
Thursday, April 19,
10:15 AM to 11:30 AM
Titian 2206
Breakout Session
300/Advanced
SV-B312 Don Jones’ Windows PowerShell Crash Course Don Jones Thursday, April 19,
11:45 AM to 1:00 PM
Venetian Ballroom G
Breakout Session
300/Advanced
SV-B315 Managing Group Policy Using PowerShell Darren Mar-Elia Thursday, April 19,
11:45 AM to 1:00 PM
Murano 3301
Breakout Session
300/Advanced
FI-B322 Virtual Machine Manager 2012: PowerShell is your Friend, and Here’s Why Hector Linares,
Susan Hill
Thursday, April 19,
11:45 AM to 1:00 PM
Titian 2206
Breakout Session
400/Expert
SV-B406 PowerShell Remoting in Depth Don Jones Friday, April 20,
8:30 AM to 9:45 AM
Bellini 2001
Hands-on lab
300/Advanced
SV-L302 Active Directory Deployment and Management Enhancements N/A Hands-on lab, available in the HOL area
Hands-on lab
300/Advanced
SV-L304 Managing Windows Server “8” with Server Manager and Windows PowerShell 3.0 N/A Hands-on lab, available in the HOL area
Hands-on lab
300/Advanced
SV-L305 Managing Network Infrastructure with Windows Server “8” N/A Hands-on lab, available in the HOL area
Hands-on lab
300/Advanced
SV-L306 Introduction to Windows PowerShell Fundamentals N/A Hands-on lab, available in the HOL area
Hands-on lab
300/Advanced
SV-L307 What’s New in Windows PowerShell 3.0 N/A Hands-on lab, available in the HOL area

2012 North America PowerShell Deep Dive

As if all of these PowerShell learning opportunities weren’t already enough, there’s even more you can do in “Learn More About PowerShell” month.  At the end of April, a week after MMS is finished, the 2nd annual North American 2012 PowerShell Deep Dive conference will start.  This conference is second to none when it comes to learning more about PowerShell.  The sessions are fantastic, and the conversations perhaps even more so.  What makes this conference unique is the focus on shorter, 35-minute sessions that quickly drill into a specific topic and give you a ton of information on that topic.  There are also short, 5-minute lightning rounds which give speakers an opportunity to quickly show off one of their favorite aspects of PowerShell.  The 35-minute format, 5-minute lightning rounds, and the depth of the content in these sessions are unique to this conference, and you won’t get the same value for PowerShell content anywhere else.  Add to that the evening script club-style events and it’s really an experience that is second to none.  I highly recommend you consider attending if you’re already using PowerShell and want to take your skills to new heights.  You can still register for this great event on the registration page for The Experts Conference (TEC).

This conference takes place in sunny San Diego from April 29th until May 2nd, and it gives you 3 days of 100% PowerShell content.  I’m fortunate enough to be attending this conference as well, and I’ll be giving sessions about proxy functions and about WMI and PowerShell.  If you do attend, please make a point to say hello and introduce yourself if I haven’t met you already.

Here’s a quick look at the content that is being presented at the PowerShell Deep Dive this year:

Title Speaker(s) Date
FIM PowerShell Workshop Craig Martin Sunday, April 29, 2012
Keynote Jeffrey Snover Monday, April 30, 2012
8:00 AM to 10:00 AM
When old API’s save the day (pinvoke and native windows dlls) Tome Tanasovski Monday, April 30, 2012
10:30 AM to 11:05 AM
Get Your Game On! Leveraging Proxy Functions in Windows PowerShell Kirk “Poshoholic” Munro Monday, April 30, 2012
11:10 AM to 11:45 AM
Using Splunk Reskit with PowerShell to revolutionize your script process Brandon Shell Monday, April 30, 2012
1:00 PM to 2:15 PM
Lightning Round Determined at event Monday, April 30, 2012
2:20 PM to 3:05 PM
Remoting Improvement in Windows PowerShell V3 Krishna Vutukuri Monday, April 30, 2012
3:10 PM to 3:45 PM
New Hyper-V PowerShell Module in Windows Server 8 Adam Driscoll Monday, April 30, 2012
4:15 PM to 5:30 PM
Formatting in Windows PowerShell Jim Truher Tuesday, May 1, 2012
8:00 AM to 8:35 AM
PowerShell and WMI: A Love Story Kirk “Poshoholic” Munro Tuesday, May 1, 2012
8:40 AM to 9:15 AM
PowerShell as a Web Language James Brundage Tuesday, May 1, 2012
9:45 AM to 11:00 AM
PowerShell V3 in Production Steve Murawski Tuesday, May 1, 2012
11:15 AM to 11:50 AM
Lightning Round Determined at event Tuesday, May 1, 2012
11:55 AM to 12:30 AM
How Microsoft Uses PowerShell for Testing Automation and Deployment of FIM Kinnon McDonell Tuesday, May 1, 2012
1:45 PM to 3:00 PM
Job Types in Windows PowerShell 3.0 Travis Jones Tuesday, May 1, 2012
3:15 PM to 3:50 PM
Creating a Corporate PowerShell Module Tome Tanasovski Tuesday, May 1, 2012
3:55 PM to 4:30 PM
Cmdlets over Objects (CDXML) Richard Siddaway Wednesday, May 2, 2012
8:00 AM to 8:35 AM
Build your own remoting endpoint with PowerShell V3 Aleksandar Nikolic Wednesday, May 2, 2012
8:40 AM to 9:15 AM
PowerShell Workflows and the Windows Workflow Foundation for the IT Pro Steve Murawski Wednesday, May 2, 2012
9:45 AM to 11:00 AM
Incorporating Microsoft Office into Windows PowerShell Jeffery Hicks Wednesday, May 2, 2012
11:15 AM to 11:50 AM
TBD Bruce Payette Wednesday, May 2, 2012
11:55 AM to 12:30 PM

Wow, that’s a lot of PowerShell!  With all of these opportunities, whether you’re trying to learn PowerShell without incurring a huge expense, or travelling to conferences to learn more about technologies there, there’s definitely something for everyone in what looks to be an awesome “Learn More About PowerShell” month.

Good luck, wherever your learning adventures take you!

Kirk out.

Windows 8…reimagined?

The series of releases of client versions of Microsoft Windows seems to suffer all too much the same fate as Star Trek movies have in the past.  This concept has already been discussed before, and there are even blog posts about it, such as Ewan Spence’s comparison of Windows releases between versions 3.0 and Windows 7 to the Star Trek movies from “The Motion Picture” to “First Contact”.  Windows 7 did indeed end up being a very impressive version of Windows, much like First Contact was a very impressive movie in the Star Trek franchise, and now we’re watching with anticipation since Windows 8 Consumer Preview is now available and Microsoft is marching steadfast towards its release.

Following the analogy that Windows releases are like Star Trek movie releases then, and that the success of Windows 7 was analogous to that of Star Trek: First Contact, it would seem that next two releases of Windows should be pretty much flops.  Star Trek: Insurrection and Star Trek: Nemesis were both pretty forgettable films, offering very little to get excited about.  Maybe Microsoft has picked up on these intertwined fates, inspiring them to try to skip over these failures by fast forwarding to the very successful “reboot” of the Star Trek movie franchise by picking coming out with what they call a “reimagined” Windows.  Did they succeed in making this jump?  Is Windows 8 a truly inspiring, innovative, reimagining of the Windows OS?

Only time will tell what the outcome will be.  First impressions really count though.  Today, based on experiences with the Windows 8 Consumer Preview, Windows 8 appears as if it will show off very well on a tablet device, where the new UI makes more sense.  For business users like me though that rely heavily on their keyboard and mouse to get work done, I’m really afraid that they’ve gone and hidden all of the great features it includes behind a completely different UI paradigm that just doesn’t jive with the needs of a business worker.  It may work well for casual computing at home, but so far it looks to me like businesses might want to consider skipping this one for their non-touch devices like laptops and desktops, at least until they can reconfigure it more like Windows 7 by removing the whimsical metro UI elements such as tiles, charms and “magic” corners.

What do you think?  Is the reimagined Windows living up to your expectations?  Do you think the new metro UI has a place in business computing?  Or do you wish you had your start menu back?

I’m curious if I’m alone in my perspective or not.  My gut tells me I’m not going to be alone in this perspective.  Sound off in the comments and let me know what you think.

Kirk out.

Technorati Tags: ,

PowerSE 2.7 KB: PowerShell profile does not load on startup

Note: This blog post refers to an issue identified in PowerSE 2.7.0. It has been corrected in PowerSE 2.7.1, which is now available.

With the release we published yesterday, both PowerSE and PowerWF received a new feature: product-specific profiles.  This feature allows you to have profile scripts that you only want run in PowerSE or PowerWF run there so that you don’t have to use if statements to check the host name in your profile scripts.  With this feature we also created the initial PowerSE and PowerWF profile scripts such that they dot-source the native PowerShell profile script by default so that what runs in PowerShell also runs in PowerSE.

Unfortunately there is one small detail that was left out of the PowerSE installer for this feature: the installation of the initial PowerSE-specific profile. As a result, if you download PowerSE 2.7, your PowerShell profile won’t run right away.  Fortunately the fix is simple.  All you need to do is invoke this script from inside PowerSE 2.7:

if (-not (Test-Path -LiteralPath $profile)) {
    Set-Content -Path $profile -Value @’
if (Test-Path -LiteralPath $profile.CurrentUserPowerShellHost) {
    . $profile.CurrentUserPowerShellHost
}
‘@
}

Once you have run that script, your PowerSE profile will exist and it will be defined to load your PowerShell profile.  Restart PowerSE 2.7 and you’ll have your PowerShell profile loaded by default again.

Note that this does not apply to PowerWF users, the profile scripts were added correctly to the installer for that release.

My apologies for the inconvenience.  We hope to have this resolved in the product itself very soon.  In the meantime this short script should work around the issue for you.

Kirk out.

PowerWF and PowerSE 2.7 are now available

This morning PowerWF and PowerSE 2.7 were released to the web and they can now be downloaded from http://www.powerwf.com.  These releases offer a lot of new value to PowerWF and PowerSE users, as follows:

PowerWF 2.7 Highlights

New Start Page with New Workflows

The start page in PowerWF has been completely redesigned to provide immediate value out of the box for PowerWF customers.  The new design highlights the Workflow Library that is included with PowerWF, allowing customers to play workflows in the library without opening a workflow or script document.  Users can also customize the workflows on the start page and add their own groups of workflows for easier runbook automation.  This immediate out of the box value is included for PowerWF customers to allow them to leverage the power of Workflows and PowerShell in their environments without requiring any knowledge of PowerShell or Workflows.

New Management Packs for System Center Service Manager (SCSM)

PowerWF for Service Manager has always included several useful management packs for SCSM in the product.  In this release, even more management packs for SCSM have been added.  Now, with a click of a button you can deploy management packs that automatically close resolved incidents, expire inactive problem announcements, cancel pending activities for closed change requests, identify problems from incident trends, notify incident authors about unresolved incidents, and get SCSM statistics.  These management packs are only available for licensed users of PowerWF for Service Manager.

Improved Toolbox Search

The search engine in the Activity toolbox just got better!  Now you can search using command names or keywords and PowerWF will return the best matches based on the terms you provided.  This includes searching with keywords that are only referenced in activity documentation and not in the command name itself.  For example, if you’re a VMware administrator, simply entering “vMotion” into the search box will reveal the MoveVM activity that is necessary to perform vMotion tasks.

Product-Specific Profile Support

PowerWF now uses its own product-specific profile support, and it updates the $profile variable to include the paths to each of the relevant profiles that you use. By default the PowerWF profile dot-sources the native PowerShell console profile, however you can change this behaviour as required by simply modifying the profile yourself in PowerSE.

PowerSE 2.7 Highlights

Easier Breakpoint Management

Breakpoint management in PowerSE just got a lot easier.  PowerSE now includes a Breakpoints pane to allow you to see all breakpoints you have set in your scripting environment, and you can now manage breakpoints using the breakpoint cmdlets and see the breakpoints you have created in the Breakpoints pane.  This gives you easy creation of line breakpoints using the Toggle Breakpoint feature or command and variable breakpoints using the Set-PSBreakpoint cmdlet (or sbp alias for short).

Breakpoints Preserved Across Sessions

Breakpoints are now automatically preserved across sessions, allowing you to continue debugging your scripts from one session to the next.  They are also preserved when you close a file, so you won’t have to reset breakpoints each time you return to a script you were working on.  You can still remove breakpoints of course, using the Toggle Breakpoint feature or the Remove-PSBreakpoint cmdlet.

Improved Help Search

PowerShell help topic files are now included in the help search pane, allowing you to search for help for integral keywords like if or foreach, or for topics like “Advanced functions”, or you can learn more about remoting by searching for “Remote”.  Also, if no results are found when you search, PowerSE will now include a keyword search in command descriptions to allow for users to discover commands using related terms, such as “vMotion”.

Product-Specific Profile Support

PowerSE now uses its own product-specific profile support, and it updates the $profile variable to include the paths to each of the relevant profiles that you use.  By default the PowerSE profile dot-sources the native PowerShell console profile, however you can change this behaviour as required by simply modifying the profile yourself in PowerSE.

And that’s not all!

This shows you a few of the highlights of this release, but of course there were plenty of bug fixes, some performance improvements, and a few other minor enhancements that were included as well.  Whether you’re a current PowerWF or PowerSE customer, or someone who is looking for great tools for working with PowerShell, Workflow, and Management Packs, I strongly encourage you to give this release a try and let us know what you think.

Kirk out.

Essential PowerShell: To alias, or not to alias, that is the question

Recently there was a discussion between community experts and a product team about a module they are working on.  The topic being discussed was cmdlet aliases: whether or not they should provide aliases for their cmdlets out of the box and if so, how they should be provided.  Aliases are great for ad-hoc PowerShell work, which is what most PowerShell users do at this point, and incredibly useful when you’re trying to put out a fire and managing your infrastructure using PowerShell.  However, there are many important things that module authors need to consider when planning aliases for their cmdlets, as follows:

1. There are many cmdlets out now, and more and more every month.  Coming up with a vsa (very short alias) that is unique is a challenge at best, and the more time goes by the more tla’s (three-letter aliases) will get used up.  The likelihood of an alias conflict is already high, and increasing all the time given the number of commands that are available both from Microsoft and from third party vendors.

2. The land grab with alias names is worse than it is with functions or cmdlets.  With functions or cmdlets, you can have multiple modules loaded with conflicting names and access either command using the fully qualified command name.  With aliases though you are not provided this same capability – there can be only one.  Aliases are simply commands set to a single value and they cannot be qualified using a module name qualifier to disambiguate if a name conflict arises.

3. Depending on how careful (or not) that developers are, it is very easy for a module author to completely take over (overwrite) an existing alias with no warning or message indicating that this has happened, resulting in potential command hijacking between module teams.  A simple call to Set-Alias does this without warning.  On the flipside, if developers don’t hijack aliases, then some of the aliases they would otherwise create may simply not be defined.

4. When aliases are hijacked, unloading a module doesn’t correct the problem because an alias that was overwritten by a module alias will simply become completely unavailable when the alias is removed as the module is unloaded.

As far as I am aware, this situation does not improve with the next version of PowerShell either, so it’s years away from getting better.

Believe it or not, even with these things in mind, I’m actually still pro aliases.  I just think that some extra care/thought needs to be put into their definition.  There is no real standard here that both satisfactorily addresses the issues identified above and that allows for consistency across companies/teams at this time.  Given that is the current state of affairs, if you are considering aliases for your module I recommend one of the following approaches:

1. [SAFEST] Rather than trying to come up with something that can be shipped despite these issues, at this time I think aliases would be best addressed in a "tips and tricks" type of blog post, proposing a short script that defines some useful aliases for the module/snapin in question in order to allow admins to be able to deal with fires quickly using ad-hoc PowerShell commands via some aliases.  Such a script should generate warnings whenever a name conflict is discovered so that users are aware when an alias either cannot be created or is overwritten.

2. [EXPERIMENTAL] Ship aliases with your module, but try to make sure they really are unique.  For example, if you’re a vendor whose company name starts with Q, you could prefix all of your aliases with "q".  This is attractive because there are no verbs that start with "q", so right from the start you’ve dramatically reduced the chance that you’ll have a conflict, setting yourselves up better to have aliases that belong to you.  Then you would only have to coordinate within your company to make sure the aliases used across teams are unique.  This isn’t foolproof though because there may be multiple products/vendors that adopt the same standard, and if the name of your company or product starts with G, the likelihood of a conflict would be much higher (the alias prefix used for "get-*" cmdlets is "g") so you may want to choose a pair of letters instead.  Regardless, you’ve likely reduced the risk, and you could generate a warning whenever you run into a conflict that prevents an alias from being created.

3. [RECOMMENDED] Lots of 1 and a little bit of 2: use unique alias names that work for your product team/company, but don’t ship them with the module.  Instead, push them out as a value add on a blog post, and see how the community responds.  At the same time work with MVPs and Microsoft to get these issues addressed such that a shorthand system for command names does work.  Some MVPs, already proposed a few things to the Microsoft PowerShell team that could help here (aliases for module names for one — think PS\gsv for a core PowerShell version of Get-Service or EX\gu for the Get-User cmdlet that comes with the Microsoft Exchange module or AD\gu for the Get-User cmdlet that comes with the Microsoft Active Directory module, and so on), but more discussions need to happen and this will take more time.

I recommend the third option because given the current issues with alias hijacking and with no support for disambiguation, it seems to be the best solution for now (from my perspective at least).  If you have come up with other alternatives that resolve these issues, please share them with the community so that this improves going forward.

Hope this helps,

Kirk out.