Category Archives: Announcements

Build San Francisco 2015


The Microsoft Build conference is in San Francisco again, and having missed PowerShell Summit this will provide some good content which can be seen live and afterwards at Channel 9. Aside from the great Developer content I am looking forward most to hearing what is coming to Windows Server specifically Nano. Having drank the Server Core Kool-aid I have been wanting a UNIX like footprint for Windows for years. If you will not be attending build the Northern California PowerShell User Group will be hosting Jeffrey Snover Thursday night April 30th at the new Microsoft Office in San Francisco. Please check out the meetup page to RSVP if you are coming in person. Otherwise you can watch the live streaming via Google Hangouts live

Observations from our PowerShell Summit VERIFIED EFFECTIVE Exam


We offered our first in-person, proctored VERIFIED EFFECTIVE exam at PowerShell Summit in April 2015, located in Charlotte, NC. While the exam is not intended as a diagnostic or learning tool, there are definitely some observations I can share from glancing through some of the submissions so far.

First, the exam isn’t easy. 31 people signed up to take it (our room capacity; more would have if we’d had space), and only 12 turned in submissions. Of those, fewer than 5 are probably going to pass by the end of the grading process.

  • If you don’t know what [CmdletBinding(SupportsShouldProcess=$True)] does, then you shouldn’t be using it. It should never be used in a cmdlet that merely queries information and doesn’t make changes to the system. It isn’t boilerplate that should be included in every function, and it has nothing to do with the PROCESS script block.
  • If you don’t understand ValueFromPipeline and ValueFromPipelineByPropertyName, then you need to learn.
  • If you’re using aliases like % in a function, you’re not creating a readable, maintainable script. Avoid aliases, especially ones that don’t immediately communicate the task being completed. Dir might be acceptable; ? not so much.
  • If you’re not neatly indenting your constructs, your script is not going to be readable.
  • Creating a parameter that accepts a limited set of values (say, “foo” and “bar”) doesn’t create internal variables with those names (e.g., $foo and $bar). Don’t confuse parameter names with their values.

In the end analysis, there’s a difference between being able to hack out a working script, and being able to create a professional, maintainable tool that complies with PowerShell’s native practices and patterns. If you’re to the point where you’re able to hack out a working script, take a next step by reading something like The Community Book of PowerShell Practices (available for free), or solidify your skills and understanding through a book like (gratuitous plug) Learn PowerShell Toolmaking in a Month of Lunches. 

Most of the non-passing submissions we’re seeing have simple mistakes – for example, including a static computer name in a verbose message, rather than inserting the name of the currently-processing computer. Or creating a CIMSession, but then not using it (forcing a later command to spin up a second session). In other instances, we saw poor practices (like globally and unnecessarily setting $ErrorActionPreference, suggesting a lack of understanding about the more specific -ErrorAction). There was also a few instances where a lack of attention to details – or perhaps simply running out of time – was a problem, such as failing to define a needed parameter, or defining a ValidateSet() with incorrect values.

We’re going to be removing one of our VERIFIED EFFECTIVE exam scenarios from production use, and turning that into an “example scenario” that you can use to self-assess your toolmaking skills. Look for that in the next few weeks. We’ll continue offering in-person proctored exams at PowerShell Summit, with Europe 2015 in Stockholm being our next go. In 2016, look for us to expand the program with more capacity (so more people can sit the exam), and for us to eventually offer a DSC-related exam.

In the meantime, anyone with a VERIFIED EFFECTIVE certificate has indeed completed a challenging, practical exam that shows they are definitely effective toolmakers, capable of building professional-grade tools that are consistent with PowerShell’s native use patterns. Thus far, fewer than 20 certificates have been earned.

PowerShell Summit – North America Launches!


The PowerShell community descended on Charlotte, North Carolina for the third annual PowerShell Summit – North America this week!  Enthusiasts, MVPs, community leaders, and the PowerShell product team came to discuss the latest and greatest ongoings in the PowerShell world.

The festivities kicked off in downtown Charlotte at the Ri Ra Irish Pub this last Sunday.  New network connections were made and old friends reunited over fine brews in the Victorian-style public house before getting a good nights’ rest before the three day summit.

Monday started off with an exciting lineup of speakers to discuss some of the hottest community topics including Desired State Configuration, automated code testing with Pester, and working with Azure.  Some great announcements were made by the product team as well, including:

  • The release of Windows Management Framework 5.0 on April 30th.  This release will be available downlevel for Windows 7 and Server 2008.
  • PowerShell Package Manager announced as the official name of OneGet.
  • The release of PowerShell Tools for Visual Studio, available now for download.

A big congratulations to PowerShell MVP and PowerShell.org board member Dave Wyatt, who’s works on Pester will be making it’s way into the next build of Windows Server!

Take a look at our latest videos from the summit on YouTube, and follow the excitement at #PowerShell on Twitter!

PowerShell Summit Europe VENUE CHANGE


We’re announcing a venue change for PowerShell Summit Europe 2015. Although we’re very appreciative to Microsoft for offering the use of their office in Kista, our registration velocity warrants a larger venue, and gives us the opportunity for a more central location.

Dates are not changed. We will be at the Scandic Klara hotel, which is near to the HTL Kungsgaten, both of which has sleeping room available as of this writing. Both are as close as we can get to Stockholm Central station, and both are near a tram line.

We are recommending that attendees reserve sleeping rooms immediately. A government congress at the waterfront convention center has made room inventory tight. Our registration website has been updated with the additional attendee capacity.

A Quick PowerShell Summit Europe Update (spread the word!)


First: Because e-mail these days is actually unreliable, what with spam filters and all, please know that we’re relying on you to keep yourself informed on Summit updates. Following the Summit category on PowerShell.org, and watching the @PSHSummit Twitter account, are the reliable means of doing so.

First: Summit Europe is happening. There was some confusion because a draft blog post from a month ago got resurrected somehow, but the Summit is on.

Second: We’re almost sold out. I think we literally have 2 or 3 seats left. There was a rush over this past weekend.

Third: We’re exploring other venues in Stockholm and Kista, which would afford us more room. I expect to have this pinned down no later than mid-May. The dates will not change, and the Kista area will probably not change. But pay attention so you’re not going to the wrong building. Watching the Summit category and @PSHSummit Twitter page is vital, especially closer-in.

Fourth: Hotel inventory in central Stockholm is dicey because there’s some giant conference at the waterfront conference center. There are rooms available just outside the central area, as well as in Kista. So long as you’re close to a tram line or Metro stop, you’re good to go – the Metro will be able to get you to whatever venue we select (we’re ensuring that).

Fifth: That is all. Have a good week :).

PowerShell Summit Europe Registration


Registration for PowerShell Summit Europe will commence on February 27th, 2015 at roughly 12:01am server time (I believe the server is in a Pacific time Azure datacenter). We will be limited to roughly 100 attendees.

I want everyone to understand the basic rules of engagement for this. Setting up and running this event involves significant financial risk. While in this case the event venue, a Microsoft office in Kista (near Stockholm), Sweden, isn’t charging us huge fees and requiring us to commit to hotel rooms and the like, there is still risk. Most of that risk is not borne by PowerShell.org, but for the most part by myself, personally. Our speakers also commit to covering their own travel expenses (something we’re hoping to offset this year). In addition, PowerShell team members are taking time away from the product to attend, which is a huge logistical commitment because it’s such a relatively small team.

For the Europe 2014 event, we had very poor registration numbers almost until the last minute. We also had to work very hard to drum up topic submissions from European speakers. Those two facts worry us a lot, because it suggests that there isn’t a strong and engaged community interested in this event. If that’s the case, we don’t want to barge in and run the event at all. As a result, we’re going to be taking a pretty risk-averse approach this time, and I wanted to be up-front and forthright about it.

So: We’re going to evaluate the registration numbers and velocity in mid-April. By then, we need to see at least 20-30 registrations. (We usually achieve that in the first week of registrations for the North American event.) If we’re not hitting that level, then the event is subject to cancellation (and everyone will naturally get a full and complete refund).

Also know that, should we make it past that point, registration will end by August 15th 2015 or when we fill the available space, whichever comes first. In other words, last-minute registration won’t be a thing.

The success of this event depends on the European members of the overall PowerShell community. You need to help get the word out. We aren’t going to be advertising, soliciting Microsoft’s help, or other techniques. This isn’t a commercial conference; it’s being done by the community and for the community – and if the community can’t make it happen, then it won’t happen.

Our agenda will be going online shortly, and you should head to http://PowerShellSummit.org to find the registration links (after reading the introductory material, click “Europe 2015″ for details). We’ll get it all posted and ready for February 27th – it won’t be live until then. Help us get the word out. Tell co-workers. Use Twitter, Google+, and Facebook. Attend user group meetings and spread the word. We’ve got about 6 weeks to get 20-30 people signed up to make sure we’re covering base expenses and making this happen.

Community Build Server


We’ve recently been discussing the possibility of hosting a build environment for the PowerShell community.  For those who are unfamiliar with the benefits, such an environment allows you to do things like:

  • Automatically run a suite of tests when new code is checked into source control.  These tests can be run on multiple operating systems or versions of PowerShell concurrently.
  • Publish pass/fail information back to your source control repository for each tested commit.
  • Automatically release code which passes your tests to repositories such as Chocolatey or PowerShellGet, etc.

However, such an environment would require some amount of cloud resources, and those cost money.  The exact amount would depend on how often a build needs to run, but we’re estimating the costs will likely be somewhere in the range of two to six thousand dollars (US) per year.  So, at this point, we’re looking for contributions to help us make this idea a reality.  These contributions can come from companies or from individuals.  We can accept payments via the PayPal “Donate Now!” button on this page, or if you prefer, we can accept payments by check as well.  If desired, we can provide invoices for the donations.  Unfortunately, for legal reasons, we’re not a non-profit entity (because we are in support of PowerShell, a commercial product).  This means that donations for the community build server are not tax deductible.

In an upcoming article, I’ll go into more details about how this environment will work.  What I can tell you right away is that it will be freely available for any open-source, PowerShell-related project, and that we will have build agents running PowerShell 2.0 through 5.0.  Pester will be available for running tests on all of these agents, and we will also have the PowerShellGet module available if you want to automatically publish modules to that environment.

Donate Button with Credit Cards

Design the Next Scripting Games


We have some folks working on the next Scripting Games… but we want some feedback from the community to make sure we’re offering something of value.

The current plan is to run a series of events, with both Beginner and Intermediate tracks. There will be no “advanced” track; the feeling is that, if you’re advanced, you should be helping out by judging ;). Events will be constructed as a combination of puzzles and real-world tasks, meaning some things will simply test your PowerShell skills, while others will test them in a more production-applicable way.

What we need from the community is some sense of what you want to get from the Games. However, before you reply, understand what is NOT on the table: we will not be running an event where every entry gets personal commentary or feedback from an expert judge. It simply isn’t practical – everyone doing the judging has a full-time job, and offering personal feedback just isn’t feasible.

What COULD be on the table is offering a numeric score from a judge, based on the completeness of your entry and what the judge thinks of it. However, if it’s a low score, you’re not going to be told why (“no commentary,” see above). So we’re not sure that numeric scores are useful.

One proposal has been to post the events, and have judges select both good ones and less-good ones to write about. In other words, provide commentary on the outstanding entries, but not EVERY entry. Individual entries wouldn’t receive a score, but you could certainly compare what you did to the outstanding ones that did receive commentary. The idea here is to give you a task on which to test your skills, and to provide some educational feedback on some representative entries. The fact is that, in any given task, we tend to see a lot of similar-looking entries anyway, so hopefully taking some of them and commenting (both positively and constructively) will help everyone “judge” their own entries and improve their skills.

After trying numerous approaches to the Games over the past years, and after listening closely to people’s feedback, we’re trying to come up with something that is both useful and do-able.

What do you think of that proposal? Or, would you offer another proposal for us to build the Games around? Keep in mind – any proposal that suggests “expert commentary on every entry” will simply have to be turned down outright. After major discussion, we simply can’t commit to it. We’ll leave this open for the month of February 2015 – discuss away!

Add to the discussion in the Forums. Login required; not accepting comments on this post.

PowerShell.org Free eBook Transition


Over the past few weeks, Matt Penny has been busy moving our free eBooks into their new home on Penflip. Code, when available, is located in our GitHub repo, and modules will soon be available in the PowerShell Gallery for downloading via Install-Module.

Penflip is a Markdown-based editing system backed by GitHub. This means anyone can contribute corrections, additional material, and so on – which will make it easier to maintain these great books over time. You can download ebooks directly from Penflip in a variety of e-book formats. We’re now focused on electronic formats, rather than traditional page-based layout, although PDF is still an available download option if you want to make a hardcopy.

The conversion from Word to Markdown was challenging and largely manual, so if you run across formatting problems (especially with code), we absolutely appreciate your help in fixing those. Simply “branch” the book, creating your own copy of the project. Make corrections, and then submit those back to the master branch. Approvals are manual, so give us a few days to review what you’ve done and merge it into the master.

Massive thanks to Matt for all the long hours making this conversion happen, and to the folks who’ve submitted cover art for the new books.

PowerShell Summit NA 2015 Agenda changes


We’ve had to make some minor changes to the Summit agenda – the revised schedule is shown on the event web site – http://eventmgr.azurewebsites.net/event/home/PSNA15

Announcing our 2015 PowerShell Heroes


The nominations are in, and the votes are tallied!

PowerShell Heroes is our way of recognizing the people who are making significant contributions to the PowerShell community, but who haven’t received any other formal recognition (such as Microsoft’s MVP Award). In many cases, these are the rising stars we hope to see receive an MVP someday, but in all cases they’re out there, working hard to make a difference. They were nominated by their peers, and selected by the 2014 PowerShell Hero honorees.

We’ve got nine PowerShell Heroes this year, so without further ado:

$heroes | Get-Random -Count $heroes.Count
  • Stéphane Van Gulick (@stephanevg):  Stéphane’s blog http://powershelldistrict.com got a lot of attention in this year’s nominations. He’s also organizing a PowerShell User Group, and has several useful PowerShell scripts that are freely available to download.
  • Adam Bertram (@adbertram):  Adam is also an extremely active blogger. His main site is http://www.adamtheautomator.com/ , but we’ve also seen articles from him on MCPMag. Aside from the general PowerShell love, Adam’s sharing a ton of knowledge about how to use PowerShell in tandem with System Center ConfigMgr, and he’s got some great career- and community-focused content as well.
  • Micky Balladelli got a ton of love from the French-speaking PowerShell community this year, receiving more nominations than any other individual. His blog can be found at https://balladelli.com , and in particular, his “First Steps” article (https://balladelli.com/premiers-pas/) has been praised for helping systems administrators to learn PowerShell, even those who are completely new to scripting / programming. Toujours PowerShell!
  • Mike Laughlin:  As far as we can tell, Mike is actually a robot, who needs no sleep and is dedicated to helping people out on the TechNet forums. Seriously, the man’s racked up over fifty thousand points in less than two years, with more than half of his posts being tagged as either answers or helpful by the community. However, it’s not just about the numbers. His posts are friendly and he follows up on them, and it’s extremely common to see posters making comments like this in his threads: “Sweet! This is EXACTLY what I’m looking for, Thank you so much!”  https://social.technet.microsoft.com/profile/mike%20laughlin/
  • Nickolaj Andersen (@NickolajA):  Like Adam, Nickolaj has a particular focus on System Center ConfigMgr (as you might have guessed from his blog URL: http://www.scconfigmgr.com/ .) However, that involves lots of PowerShell, and there’s plenty of it on his blog (including many free scripts for download.) What we saw in his nominations, though, was how much time Nickolaj puts into personal communication with the community: emails, Skype chats, you name it. He’s out there, helping people to get things done.
  • Matt Johnson (@mwjcomputing):  Matt is the founder of the Southeast Michigan PowerShell User Group, and the lead developer of the PoshSec security framework. He’s heavily involved in communities – speaking and volunteering at conferences, doing podcasts, etc. – for both Systems Administration and Infosec. (something which, frankly, we all need to learn more about. Been paying attention to the news for the last year or two?) His blog can be found at http://www.mwjcomputing.com/ .
  • Bob McCoy is constantly helping people to solve problems over at powershell.com and SpiceWorks. At any given time, you can fire up the http://community.spiceworks.com/programming/powershell or http://powershell.com/cs/forums/230.aspx forums, and we’d be very surprised if you didn’t see multiple threads with “Latest post by Bob McCoy” listed in both.
  • June Blender (@juneb_get_help):  If you use PowerShell, June has helped you, whether you know it or not! When she worked for Microsoft, she was responsible for much of the built-in documentation that we get by running the Get-Help command. She’s also always been active in blog posts and on Twitter, spreading the joy of PowerShell. These days, she’s a Technology Evangelist over at SAPIEN, where she continues to do so.
  • Craig Duff is extremely active in the PowerShell forums over at SpiceWorks, usually the first person to respond to questions there. His solutions have been praised as clean, efficient and easy to understand, and there are lots and lots of them! (437 posts marked as “Best Answer”, as of this writing). His blog can be found at http://switch.nfshost.com/.

Congratulations to our 2015 PowerShell Heroes!!

Our eBook Transition – and Your Chance to Contribute!


We’re in the process of migrating our free ebook collection over to Penflip, an online, Git-based collaborative authoring and publishing tool. Matt Penny has taken the lead in converting our Word documents to the Markdown syntax used by Penflip, and as you can see on our ebooks page, most of the titles now have an initial version in Penflip.

One neat thing about Penflip is that anyone can register for a free account, fork one of our projects, and make their own modifications. You can then submit your changes back to the master branch, so we can incorporate your changes into the ebook. This will make it easy for everyone in the community to suggest new content, offer corrections, and so on. I encourage you to help out – right now, you may simply notice some flaws from the semi-automated and fully hellish Markdown conversion, and we’d love your assistance in correcting those.

Penflip also supports on-demand downloads of each ebook in a variety of common formats, including EPUB, PDF, and more. That means you’ll always be able to grab the latest version of your favorite ebook. We’ve not yet migrated the source code that goes with some of the ebooks; the plan is to move those into our GitHub repo over the next week.

Penflip will be enabling the next generation of our ebooks, including a massive new DSC title I plan to begin working on in 2015.

Thanks for any help you can provide, and I hope you continue to find the ebooks helpful!

Final PowerShell Summit NA 2015 Inventory Available


An additional 35 seats have been opened for PowerShell Summit NA 2015, as of 10am PT 2015-01-11. This will be the final block of inventory available for the event, which will host around 140 total people.

If you click over and there are no registration options, it’s because it sold out.

Let’s Make a PowerShell Job Interview Quiz. C’mon and Help.


The folks at Smarterer have agreed to let us – that’s all of us, as in “The PowerShell Community” – build a sort of “exam” for people to prove their PowerShell Proficiency. And I need your help to do it!

Step 1, you need to be pretty decent with PowerShell yourself. Not Level 12 Guru Level, mind you, but you should be working with it daily. Most of this book should make sense to you.

Step 2, you need to download my Quiz Question Writing Guide (It’s all of 1 page) and Topic List. PowerShell Quiz Guidelines is the download. Go on, I’ll wait.

Step 3, you need to sign up, using your e-mail address, and let me know you’re interested in helping. What you’re volunteering to do is, over the course of February 2015, write at least 20 questions. That’s about 2 questions per category. You’re also agreeing to help peer-review the questions other folks write, so we can spot the stinkers. Signups are due by January 20th 2015.

<blink>Go here to register!</blink>

BTW, 20 questions total is only about 1 per day. You could totally do 5 per day if you made an effort. Think about PowerShell questions you’d ask during a job interview, to tell if someone knew their stuff or was merely a poser. We cannot have too many good questions. 

Now for the good news there are prizes! Pluralsight is offering a prizes to the top net question contributors (“net contributor” means the number of questions you write that survive peer review and are accepted by the Quiz Captain).

  • 1st place: $200 Amazon gift card and 6 months of access to the entire Pluralsight library
  • 2nd place: $100 Amazon gift card and 3 months of access to the entire Pluralsight library
  • 3rd place: $50 Amazon gift card and 1 month of access to the entire Pluralsight library

We’re also looking for a Quiz Captain, so when you register, indicate if you’re willing to take on that role. There’s only one, and you’re exempt from the prize (that’s what you get for stepping up). You’re in charge of final acceptance on all questions that go into the final pool – not so much for technical accuracy, but for being well-written.

Disclosures: You’ll be using an online authoring tool called Flock, which means your registration e-mail address (which you provide) will be provided to Smarterer, so they can load you into the tool and send you an access invite via e-mail. Your e-mail will also be used to contact you about the project, and regarding any prizes you may earn.

WHY? Well, the idea is that we’re all getting to a point where we’ll need to hire PowerShell sk1llz. Rather than us all concocting our own job interviews, this’ll act as a kind of central, crowdsourced job interview you could direct a job candidate to. Yes, some of you will also ask for a more in-depth interview, perhaps offering a coding challenge or something – that’s awesome. This is just the first stage you could use. The exam will be available free of charge to anyone who wants to take it, anytime, ever. And it can be updated and evolved as the technology, and our business needs, evolve.