One of These Things is Not Like the Others: Challenge 20: Answer
If there's one thing you can say about those of us here at the Lync Server PowerShell blog (yes, we know: there probably are lots of things you can say about those of here at the Lync Server PowerShell blog) it's this: we're too dumb to know any better. Which, oddly enough, is actually a good thing.
Or at least that's what we keep telling ourselves.
For example, take the Lync Server PowerShell One of These Things is Not Like the Others challenge. When we started the challenge back in January, we were well aware that – as a recently-released piece of software – there were probably more people who don't use Lync Server than who do use Lync Server. Furthermore, we knew that only a small subset of people who did have the software up and running were using Windows PowerShell to manage that software. Based on that, anyone with even the least bit of intelligence would have said, "It's too early to start having a weekly contest devoted to Lync Server PowerShell."
Fortunately, though, intelligence has nothing to do with those of us here at the Lync Server PowerShell blog. We went ahead and started the weekly challenge anyway, and we were both gratified and surprised to see how many people decided to play along. To all of you who took the time to participate in the weekly challenge, thank you. And to those of you who didn’t participate in the weekly challenge, well, we know who you are. And one of these days, when you least it expect it, there will be a knock on your door ….
Note. We should probably add that it won't be us doing the knocking; we have other things to do. We're just assuming that sooner or later someone will knock on your door, probably to sell you Girl Scout cookies or try to talk you into replacing all the windows in your house.
Personally, we think your windows are fine.
Anyway, once again we'd like to thank everyone who participated in the challenge. We'd also like to take a moment and give you the answer to challenge number 20. As you no doubt recall, last week we presented you with the following list of Lync Server PowerShell cmdlets and asked you which of these cmdlets was not like the others:
As it turned out, the final vote was unanimous: everyone opted for New-CsVoiceRegEx. Why? There were actually several reasons. For one thing, it's the only one of the cmdlets that doesn't have an Identity parameter.
Note. That was our big bugaboo this time around: too many times we ended up having a cmdlet that didn't have an Identity parameter, only we didn't realize that it didn't have an Identity parameter. We would vow that, the next time we do something like this, we'll be more careful and more diligent about things like that, but we hate to make promises that we'll probably never keep.
As Tom A., David M., and Ramkumar R. all pointed out, New-CsVoiceRegeEx is also the only cmdlet that doesn't make a change to the system. Set-CsVoiceNormalizationRule and Set-CsOutboundTranslationRule both change existing Lync Server objects; New-CsSipResponseCodeTranslationRule creates a brand-new Lync Server object. But New-CsVoiceRegEx merely creates an in-memory-only object that must then be added to an actual Lync Server object (i.e., a voice normalization rule). Did we realize that when we published this challenge? Well, we realize it now ….
So is New-CsVoiceRegex the solution that we had in mind? Actually, it's not: we opted for New-CsSipResponseCodeTranslationRule. Why? Well, the other three cmdlets all deal with regular expressions and voice normalization rules. By contrast, New-CsSipResponseCodeTranslationRule deals with translating SIP response codes and ISDN User Part cause codes. But hey: you say potato, we say New-CsSipResponseCodeTranslationRule. It's all good, right?
Thanks again for taking part in the challenge over the past few months. Will there be a replacement challenge sometime in the future? Well, never say never, right? We'll just have to see how things play out. In the meantime, a warning to Tom A.: one of these days, when you least it expect it, there will be a knock on your door. When there is, just hand us the free beer you offered us and we'll promise to go away and never bother you again.