Learn about Windows PowerShell
Hey, Scripting Guy! Is there an easy way to find out what programs have been downloaded for Internet Explorer (the items that are in the folder C:\Windows\Downloaded Program Files)? I can use a script to get the executable file names and dependent files, but I’d like to be able to get the names as they are shown in the folder itself.-- AC
Hey, AC. When you download ActiveX controls or Java applets, these items are typically placed in the Downloaded Program Files folder. You can view these items in Windows Explorer, or you can view them from within Internet Explorer. (Click Internet Options and then, on the General tab, click Settings. In the Settings dialog box, click View Objects.)
When you look at the folder contents using Windows Explorer, you see friendly names like MSN File Upload Control. However, if you use the dir command or use, say, a FileSystemObject script to access the folder you see executable file names like MsnUpld.cab. You’d like to be able to use a script to return those friendly names you see in Windows Explorer.
So how do you do that? Why you use this script, of course:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & _
Set colIESettings = objWMIService.ExecQuery _
("Select * from MicrosoftIE_Object")
For Each strIESetting in colIESettings
Wscript.Echo "Code base: " & strIESetting.CodeBase
Wscript.Echo "Program file: " & strIESetting.ProgramFile
Wscript.Echo "Status: " & strIESetting.Status
This script relies on a class - MicrosoftIE_Object - and a namespace -- root\cimv2\Applications\MicrosoftIE - that, as far as we know, have never been documented. But it seems to do the job; run the script and you’ll get output similar to this:
Code base: http://sc.groups.msn.com/controls/FileUC/MsnUpld.cab
Program file: MSN File Upload Control
As you can see, the ProgramFile property gives you the friendly name as shown in the Downloaded Program Files folder.