Microsoft Outlook:导出当前打开的 PST 文件列表

Microsoft Outlook:导出当前打开的 PST 文件列表

.pst在我目前的工作场所,我们正在将各种用户从 XP 升级到 Windows 7。用户经常在安装的 Microsoft Outlook 2007 中打开10 到 30 个左右的文件。如果没有这些文件,这些用户会特别无助。

我知道如何查看当前打开的 PST 文件的列表,并且想知道除了截取“选项”->“数据文件”窗口的屏幕截图之外是否还有其他简单的方法来捕获该信息。

migwiz.exe传输这些信息吗?这是唯一的方法吗?

是否存在一种工具可以让你捕获并恢复这些信息?

我不想导出或移动实际的.pst(是的,其中一些位于网络位置,非常糟糕,我知道),只需在新安装的 Outlook 中重新打开那些曾在以前的安装中打开过的应用程序即可。

答案1

这里有一个 vbscript,列出了用户个人资料中的 PST

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 PSTFolder.name & " : " & pstPath
  end if
next

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
  next

  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

答案2

如果要将 Outlook 配置文件迁移到另一台计算机,则需要导出和导入注册表树

如果您偶然想查看 Outlook 运行时特定计算机上当前正在使用的 PST 或 OST,则可以使用 SysInternals 的免费处理工具:

例:>处理-p outlook.exe | grep "pst\|ost"

这将查看进程 outlook.exe。grep 只会从与 pst 或 ost 匹配的输出中提取文本。

PST 是本地 Outlook 文件。OST 是 Exchage 缓存文件。

我使用的 grep 来自 cygwin。

相关内容