Jeffery Hicks is a Microsoft MVP in Windows PowerShell, Microsoft
Certified Trainer and an IT veteran with over 20 years of experience,
much of it spent as an IT consultant specializing in Microsoft server
technologies with an emphasis in automation and efficiency.He works
today as an independent author, trainer and consultant.Jeffwritesthe
popular Prof. PowerShell column for MPCMag.com, is a regular contributor
to the Petri IT Knowledgebase, 4SysOps and the Altaro Hyper-V blog, as
well as frequent speaker at technology conferences and user groups.
I want to direct your attention to this forums post, which I think is worth anyone’s time to look through. I’ve left a pretty long reply with some comments on the entry that would also be worth a read. I find that a LOT of folks - like the gentleman who posted his script - have a really good approach to PowerShell scripts. They want to use parameters. They want verbose output. They want to proactively check for errors. Where I think folks get lost is in the fine points of how PowerShell enables these features. I see folks working harder than they need to, coding functionality that the shell will actually give them for free. I also see some not-entirely-perfect approaches to things like parameters and error handling, and some occasional mis-use of advanced features (I often see SupportsShouldProcess declared but not actually implemented). Sometimes, this simply happens because a lot of these advanced features aren’t well-documented in one convenient spot - they’re all spread out - and because folks are learning from blog posts, which may themselves have been written by someone with an incomplete understanding. Or, they’re pasting bits together without really knowing what they’re doing. That’s cool - what you have to sometimes do is take a whack at something like this poster did, and get some feedback. I’m really glad he did, because it offers an opportunity to clear up some misunderstandings, which will just make his scripts even better in the future. I hope everyone’s looking at the Games as a learning opportunity. I hope everyone will vote on folks’ entries and leave comments when they do; I hope as many people as possible spend some time blogging about what they see, what they’ve learned, and what they don’t understand. That’s how we’ll all improve. Let me give you a perfect example (we’re no longer discussing the forums post, here - I’m moving on to a new topic):
If you’re participating in the Scripting Games, log on to the Scripting Games Web site and check out your Profile page. You’ll find a redemption code that can be used to unlock a Participant achievement on the main PowerShell.org Web site!
As you probably know, we’ve been running a survey for PowerShell.org, which helps us both improve the site and create demographic information that makes us appealing to sponsors (who, you know, pay for everything here). We’ve gotten a ton of great feedback. Yeah, we really are reading every single comment you left. Let’s start with the biggies:
Maybe some more guest writers for articles? I imagine it’s difficult with all the articles that get posted all over the net every day, but maybe some of those folks (like the scripting guys or scripting wife) can do some to help the Powershell.org community.
As you may be aware, we posted Practice Events for the 2013 Scripting Games, in an effort to give people an idea of what the events would look like and involve. There’s been a lively discussion in the PowerShell.org forums about the Beginner Practice, so I thought I’d weigh in. Here’s my solution: Of course, that’s hardly the only way to go about it. I used this approach because it minimizes the use of extra variables, and doesn’t create a script-style approach - it’s a “one-liner,” although I’ve broken it across several physical lines for readability. I think it makes good use of PowerShell’s native ability to deal with multiple objects in a stream - there’s no need for a ForEach loop, here.
Please make sure you’re following this announcements category as you travel to, and attend, the Summit. It’s the best way for us to get out late-breaking news.
Registration begins at 8am on Monday, April 22nd, in the lobby of Building 40. Now, sometimes the lobby doors open a wee bit late - so bear with us. The first sessions aren’t until 9am, so there’s plenty of time. Please bring a printout of your ticket from EventBrite, and a photo ID. Session pre-registration didn’t happen - we had some volunteers have emergency health issues that just got us behind schedule, so we couldn’t get the mobile app thing going. No fear. Sessions will be on a first-come, first-seated basis. Note that we are spread between two adjacent buildings, so you may have to traipse from one to the other during the 15-minute session breaks. Meals will include a very light continental breakfast and a lunch. We will endeavor to supply soft drinks throughout the day, but that will require Microsoft employees to shuttle them to us. You’re welcome to bring your own soft drinks. We’ve got coffee lined up. Please respect your fellow attendees - we’ve ordered enough food for everyone, but that assumes everyone’s taking a normal-sized serving. A plate piled high with croissants isn’t normal, and deprives your fellow attendees of their share. Seriously - this happened at a conference I was at a couple of weeks ago. Pretty sad. Kickoff we will have a VERY SHORT kickoff in each session room at 8:45am. We’ll endeavor to present all general material in both session rooms, since neither room can accommodate all of us at once. Jason Helmick and myself will be handling those duties throughout the event. You’re welcome to come to us with any problems you run into. Problems may arise - bear in mind this is our first year, and just be patient with us. If you bring it to our attention, we’ll fix what we can, as soon as we can. We really appreciate your help and patience as we try to make a great event! Wi-Fi is not guaranteed, and we will not have power drops for everyone’s laptop. Please do not stretch your laptop power cord across any walkways - you will be asked to unplug for safety reasons. We suggest leaving the laptop in your hotel room, so help make the room more comfortable for everyone (if everyone brings a laptop and a giant bag for it, it’s going to get cramped). Parking is limited on-site, and you need to make sure you park in a space that isn’t restricted. Check-in with the building receptionist to see if your car needs to be registered. You can also park at the ExtendedStay America hotel across the street, and walk to buildings 40 and 41. You’re responsible for your own transportation during the event. Evening events are strictly on-your-own. We don’t have anything official planned. If someone puts something together ad-hoc and tells us, we’ll do our best to spread the word. This is an informal event - don’t think of the Summit as a conference like TechEd, but rather as a gathering of friends and colleagues. It’ll be less structured, more ad-hoc, and hopefully more engaging. Please be respectful of speakers while they present, and follow their guidelines on when to ask questions. We do have to push them off the stage at the end of their allotted time, so give them their time to complete their presentation for you. If you have additional Q&A after the session ends, please take it into the lobby so that the next session can start. MONDAY AT LUNCH we will launch the 2013 Scripting Games with an EnergizedTech opening ceremonies video. It’ll be a pageant - don’t miss it. 12:30pm in each session room. WEDNESDAY AT LUNCH in the lobby or session room in building 40, you’re invited to meet the Summit organizers (if you’ve managed to avoid us until then) and offer feedback for 2014.
We’ve made some minor fixes and clarifications to the 2013 Scripting Games Competitors’ Guide and Instructions booklet. I encourage you to download them and review them once more before we kick off next week. In addition, we have some additional prizes for our winners in each event - I’ve updated the prize list post to include this new information. That post, going forward, will be the authoritative prize list. Registration is now open, and the Games will formally kick off on April 22nd. The first event opens April 25th. Please rely on the Scripting Games Home Page for a complete list of links and information, and make sure you’re watching this announcement category for breaking news. Because we are not collecting e-mail addresses, this is the best way for us to communicate with you.
If you’re attending the Summit and are arriving Sunday afternoon, drop by the Azteca restaurant on 148th. I’ll be there with some of the Board from 5pm, in the bar. It’s informal, pay-your-own-way, and a chance just to say hi before we kick off on Monday. Safe journey!