Hi gmanerdy,
I've been gone for a while, but I'm back now. I don't know whether you have solved your problem or given up by now.
Do you have subfolders in your favorites?
Did you import your favorites or history, or copy these from a different machine?
Did you use a files from a backup CD?
The reason that I ask these questions is to figure out whether or not you have a simple permissions problem. Under normal circumstances, the troubles you are having do not occur. If you copied your files from elsewhere, then it is a common mistake to lose ownership.
To take ownership of special folders associated to IE copy the script below into Notepad. Save the file with a .vbs extension. Run.
'Begin Copy below this line ----
'ownIEfolders.vbs
'solon fox - created 2008/6/21
'
[email protected]
'quick and dirty take ownership of IE special folders
'=========================================================
Dim strPath, strMsg
'Constants
Const SCRIPTNAME = "ownIEfolders.vbs"
Const FAVORITES = &H6&
Const MY_TIF = &H20& 'Temporary Internet Files
Const MY_COOKIES = &H21& 'Cookies
Const MY_HISTORY = &H22& 'History
strComputer = "."
strMsg = "Ownership taken of: " & VbCrLf
Set objShell = CreateObject("Shell.Application")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
'Favorites
Set objFolder = objShell.Namespace(FAVORITES)
Set objFolderItem = objFolder.Self
strFolder = Replace(objFolderItem.Path, "\", "\\")
strMsg = strMsg & "Favs: " & objFolderItem.Path & VbCrLf
Set colFolders = objWMIService.ExecQuery _
("Select * From Win32_Directory Where Name = '" & strFolder & "'")
For Each objFolder in colFolders
objFolder.TakeOwnershipEx
Next
'Temporary Internet Files
Set objFolder = objShell.Namespace(MY_TIF)
Set objFolderItem = objFolder.Self
strFolder = Replace(objFolderItem.Path, "\", "\\")
strMsg = strMsg & "TIF: " & objFolderItem.Path & VbCrLf
Set colFolders = objWMIService.ExecQuery _
("Select * From Win32_Directory Where Name = '" & strFolder & "'")
For Each objFolder in colFolders
objFolder.TakeOwnershipEx
Next
'Cookies
Set objFolder = objShell.Namespace(MY_COOKIES)
Set objFolderItem = objFolder.Self
strFolder = Replace(objFolderItem.Path, "\", "\\")
strMsg = strMsg & "Cookies: " & objFolderItem.Path & VbCrLf
Set colFolders = objWMIService.ExecQuery _
("Select * From Win32_Directory Where Name = '" & strFolder & "'")
For Each objFolder in colFolders
objFolder.TakeOwnershipEx
Next
'History
Set objFolder = objShell.Namespace(MY_HISTORY)
Set objFolderItem = objFolder.Self
strFolder = Replace(objFolderItem.Path, "\", "\\")
strMsg = strMsg & "History: " & objFolderItem.Path & VbCrLf
Set colFolders = objWMIService.ExecQuery _
("Select * From Win32_Directory Where Name = '" & strFolder & "'")
For Each objFolder in colFolders
objFolder.TakeOwnershipEx
Next
Wscript.Echo strMsg & " " & VbCrLf & SCRIPTNAME & " - finished."
'End Copy above this line ----
I hope this helps.
To the scripting critics, yes, this could have been done more efficiently with a loop, but, hey scripts are quick and dirty.