2016-07-01 3 views
2

Ich bin neu in VBS und versuche, ein Skript zu schreiben, um (zuerst) PST-Dateien im Benutzerprofil zu finden. In Outlook 2007 ist der Standardspeicherort für diese Dateien% userprofile% \ AppData \ Local \ Microsoft \ Outlook, in Outlook 2010 jedoch% userprofile% \ Dokumente \ Outlook Files.VSB finde PST-Dateien im Benutzerprofil

Im Moment habe ich mit dem folgenden Code getestet, und zu Testzwecken habe ich einen Ordner C: \ Data und den Pfad für Outlook 2007 verwendet. Beide enthalten PST-Dateien.

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')") 

Das Problem ist, dass es erfolgreich aus dem Ordner Data liest aber aus dem Benutzerprofil nicht. Die interessante Sache ist, dass, wenn ich das Laufwerk = 'C:' anstelle der beiden Pfade in Abfrage angeben, es alle PST-Dateien aus beiden Daten und% userprofile% \ AppData \ Local \ Microsoft \ Outlook zurückgibt. Aber das Durchsehen aller C-Laufwerke ist nicht die beste Lösung, da sie wertvolle Ressourcen für nichts verbrauchen.

Haben Sie Ideen, wie Sie auf diese beiden Ordner zugreifen können?

Danke und weiter! Iulian

Antwort

0

Wenn jemand es nützlich finden würde, habe ich meine Abfrage Syntax wie folgt korrigiert und es funktioniert jetzt.

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