Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

At my current workplace we are upgrading various users from XP to Windows 7. Frequently the users have anywhere from 10 to 30 or so .pst files opened within their installation of Microsoft Outlook 2007. These users are particularly helpless without these files.

I know how to view the list of currently opened PST files, and would like to know if there is an easy way to capture that information other than taking screenshots of the Options -> Data Files window.

Does migwiz.exe transfer this information? Is that the only way?

Would there happen to be a tool that will let you capture and restore that information?

I don't want to export or move the actual .pst's themselves (yes, some of them are on network locations, very terrible, I know), just reopen ones in a new installation of Outlook that used to be opened in a previous installation.

share|improve this question
i've got a similar issue now, i need to go from '03 to '10. USMT won't migrate outlook, need to figure out how to export and import mounted pst's on the new machine automatically – acme64 Jun 7 '12 at 15:54
Please don't create new tags when it's not necessary. – Daniel Beck Jun 7 '12 at 21:18
I have a vbscript that is capable of that, will that do ? – peter Jun 7 '12 at 21:37
@Peter: Bring it on. – LawrenceC Jun 8 '12 at 0:13
up vote 2 down vote accepted

Here a vbscript that lists the PST's in the users profile

set objOutlook = createObject("Outlook.Application")
set objMAPI = objOutlook.GetNamespace("MAPI")
for each PSTFolder In objMAPI.Folders
  pstPath = GetPath(PSTFolder.StoreID)
  if pstPath <> "" then
    wscript.echo & " : " & pstPath
  end if

function GetPath(input)
  for i = 1 To Len(input) Step 2
    strSubString = Mid(input,i,2)
    if Not strSubString = "00" Then
       strPath = strPath & ChrW("&H" & strSubString)
    end If

  select Case True
  case InStr(strPath,":\") > 0
    GetPath = Mid(strPath,InStr(strPath,":\")-1)
  case InStr(strPath,"\\") > 0
    GetPath = Mid(strPath,InStr(strPath,"\\"))
  end Select
end Function
share|improve this answer
The issue with that is that that I've found is if a user has a shared mailbox attached to which they have no permissions. In that event, there's still an entry under the folders, but there's no StoreID associated and the script bombs out on the line: pstPath = GetPath(PSTFolder.StoreID) – Dave_J Sep 3 '14 at 16:56
That is indeed a very bad situation, my expereince with outlook 2010 is that it locks up and the pc comes to a crawl, best is to avoid such situation all together – peter Sep 3 '14 at 19:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.