COM pt 7–Items pt 2

In part 6 we looked at the drives collection on the FileSystemObject. The Items property was mentioned.

Lets jump back to our Shell object

$shell = New-Object -ComObject "Shell.Application"

 

if we do a Get-Member

$shell | gm

You will see a method called Namespace.  This allows you to work with the Special Folders. One such special folder contains the cookies on you system.

PS> $shell.Namespace(0x21)


Title                      : Cookies
Application                : System.__ComObject
Parent                     :
ParentFolder               : System.__ComObject
Self                       : System.__ComObject
OfflineStatus              :
HaveToShowWebViewBarricade : False
ShowWebViewBarricade       : False

 

If we look at the object

$shell.Namespace(0x21) | gm

 

we will find an Items method.

$shell.Namespace(0x21).Items()

 

will dump the information faster than you can read.  The Items method can not be used to dump individual items

 

We could do something like

$shell.Namespace(0x21).Items() | select Name, ModifyDate

 

if we want to see all of them.  This can be refined as

$shell.Namespace(0x21).Items() | sort ModifyDate -Descending | select Name, ModifyDate

To discover the number of cookies

($shell.Namespace(0x21).Items()).count

 

In many ways it is similar to the GetEnumerator method on hash tables

Leave a Reply