PowerShell Summit

Observations from our PowerShell Summit VERIFIED EFFECTIVE Exam

Don Jones
3 min read
Share:

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.

Related Articles

May 23, 2023

PowerShell + DevOps Global Summit 2024

[vc_row][vc_column][vc_column_text] We have had a lot of questions regarding the dates and location for the 2024 edition of the PowerShell + DevOps Global Summit. The team has been working hard to ensure we deliver the best possible experience for our attendees. We are pleased to return to Bellevue, WA, April 8-11, 2024, to the beautiful Meydenbauer Center and our new partner hotel, the Courtyard by Marriott. Some of you may remember the Courtyard from previous years.

Feb 17, 2023

PowerShell Summit! Then and Now

[vc_row][vc_column][vc_custom_heading text=“March 1, 2023 11am Pacific Standard Time” link=“url:https%3A%2F%2Ftwitch.tv%2Fdevopsorg|title:Join%20Us|target:_blank”][vc_empty_space height=“15px”][/vc_column][/vc_row][vc_row][vc_column width=“1/2”][vc_single_image image=“294120” alignment=“center”][/vc_column][vc_column width=“1/2”][vc_single_image image=“295606” alignment=“center”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Join Don Jones and James Petty as they discuss the history of the PowerShell Summit. How it started and why it almost didn’t happen. How has the summit evolved over the years? James will then talk about the 2023 PowerShell + DevOps Global Summit (which by the way is taking place April 24-27 in case you haven’t heard).

Nov 30, 2022

PowerShell + DevOps Global Summit 2023

[vc_row][vc_column][vc_custom_heading text=“Summit Information”][vc_column_text]What: 2023 PowerShell + DevOps Global Summit Where: Marriott Downtown Bellevue WA When: April 24-27, 2023[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_custom_heading text=“Dates to Remember”][/vc_column][/vc_row][vc_row][vc_column][vc_empty_space height=“20px”][/vc_column][/vc_row][vc_row][vc_column width=“1/3”][vc_cta h2=“1 - Jan” txt_align=“center” style=“custom” custom_background="#000000" custom_text="#ffffff"][/vc_cta][vc_column_text]Early Bird sales will end[/vc_column_text][/vc_column][vc_column width=“1/3”][vc_cta h2=“15 - Dec” txt_align=“center” style=“custom” custom_background="#000000" custom_text="#ffffff"][/vc_cta][vc_column_text]The content committee will notify speakers no later than 15-December on if their sessions were selected.[/vc_column_text][/vc_column][vc_column width=“1/3”][vc_cta h2=“2 - Jan” txt_align=“center” style=“custom” custom_background="#000000" custom_text="#ffffff"][/vc_cta][vc_column_text]Fill Schedule will go live 2-January[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]There is more information available at the event website https://powershellsummit.