VSB在用户配置文件中查找PST文件

时间:2016-07-01 13:01:29

标签: vbscript

我是VBS的新手并尝试编写脚本(首先)在用户的个人资料中查找PST文件。在Outlook 2007中,这些文件的默认位置是%userprofile%\ AppData \ Local \ Microsoft \ Outlook,但在Outlook 2010中是%userprofile%\ Documents \ Outlook Files。

目前我已经使用以下代码进行了测试,出于测试目的,我使用了文件夹C:\ Data和Outlook 2007的路径。两者都包含PST文件。

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set wshShell = WScript.CreateObject( "WScript.Shell" )
strUserName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )

Set colFiles = objWMIService.ExecQuery _
    ("Select * from CIM_DataFile Where Extension = 'pst' AND (Path = '\\Data\\' OR Path = '\\" & strUserName &"\\AppData\\Local\\Microsoft\\Outlook')")  

问题是它成功从Data文件夹中读取但是从用户配置文件中没有成功读取。 有趣的是,如果我在查询中声明Drive ='C:'而不是两个路径,它将返回来自Data和%userprofile%\ AppData \ Local \ Microsoft \ Outlook的所有pst文件。但是,查看所有C驱动器并不是最佳解决方案,因为它无需消耗宝贵的资源。

如何让它访问这两个文件夹?

谢谢并提前! 尤利安

1 个答案:

答案 0 :(得分:0)

如果有人发现它有用,我已经更正了我的查询语法,现在它正在运行。

("Select * from CIM_DataFile Where Extension = 'pst' AND (Path = '\\Data\\' OR Path = '\\Users\\"& strUserName &"\\AppData\\Local\\Microsoft\\Outlook\\')")