2008 Winter Scripting Games

Solution to Sudden Death Challenge Event 1: Could I See Some ProgID, Please?

*

Could I See Some ProgID, Please?

You would think that the Scripting Guys would learn, wouldn’t you? But, then again, if we were capable of learning anything then we probably wouldn’t be the Scripting Guys, would we?

One thing we noticed during the previous two Scripting Games is that any time we post an event that doesn’t require writing a script, well, all … heck … tends to break loose. Nevertheless, we persist in occasionally tossing in an event, like Event 1 in the Sudden Death Challenge, that doesn’t require writing a script. Why do we keep doing that even thought we know it’s going to cause trouble? Who knows; maybe we’re just gluttons for punishment.

So is all heck going to break loose when we reveal the solution to Event 1? Well, maybe. Let’s explain a couple of our answers, and then see what happens.

To begin with, we did decide to make one concession. In our opinion, the correct answer for Scriptlet.Typlet is this: Enables you to create a GUID. However, a lot of you chose this answer instead: Enables you to access type libraries from a script. To be honest, we’re not so sure that’s correct. If you’re creating a Windows Script Component then Scriptlet.Typelet lets you create a type library for that component; however, it doesn’t let you, say, write a .VBS file and then have direct access to a type library from that .VBS file. That was our original intention, but we’ll concede that we didn’t word this very well. So we’ll give you either one: create a GUID or access a type library.

And yes, that was pretty nice of us, wasn’t it? We aren’t going to be so nice in two other cases, however. When it comes to Wscript.Network a lot of people chose this answer: Enables you to manage TCP/IP and other network settings. Sorry, but that one we can’t accept. Wscript.Network lets you map network printers and network drives, but it has nothing to do with TCP/IP. That one which just can’t give you.

And when it comes to WSMan.Automation we also can’t give you this one: Enables you to create a remote connection using Windows Script Host. That’s kind of, sort of, in a somewhat roundabout way true, but WSMan.Automation is the COM object that enables Windows Remote Management. Because that was one of the choices (Enables you to work with Windows Remote Management) the answer seemed obvious to us. However, we’re sure plenty of you won’t agree with that.

Which is why we decided to lock the door and bolt the windows before posting this solution.

So what should you do if you feel a great injustice has been committed here? Tell you what: just send us an email and state your case as to why you think your answer is correct. We aren’t planning on changing anyone’s score, but if there’s a big enough outcry, well, we’ll think about it. After all, even though this is a competition, we still want it to be fun, and we definitely want it to be fair.

And yes, we are way too nice.

At any rate, here are the descriptions that we thought went along with each ProgID. If you disagree, let us know.

ProgId

Description

ADODB.Connection

6 -- Enables you to connect to a database.

HNetCfg.FwMgr

1 -- Enables you to manage the Windows Firewall in Windows XP.

Microsoft.XMLDOM

17 -- Enables you to work with XML documents.

SAPI.SpVoice

7 -- Enables you to perform text-to-speech conversions in a script.

NameTranslate

20 -- Enables you to convert Active Directory names from one format to another.

Scriptlet.TypeLib

19 -- Enables you to create a GUID.

Outlook.Application

10 -- Enables you to create an instance of Microsoft Outlook.

WMPlayer.OCX

14 -- Enables you to manage Windows Media Player.

WScript.Network

3 -- Enables you to map printers using Windows Script Host.

WSMan.Automation

11 -- Enables you to work with Windows Remote Management.

CDO.Message

9 -- Enables you to send and create SMTP email.

Microsoft.ISAdm

13 -- Enables you to manage Microsoft Indexing Server.


Top of pageTop of page