﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Find PST files configured in outlook</title><link>http://www.visualbasicscript.com/</link><description /><copyright>(c) VBScript Forum</copyright><ttl>30</ttl><item><title>Re:Find PST files configured in outlook (girt0n)</title><description>  I am trying to set a auto add Calendar event button to complete a form for the new client from an excel doc. Problem I am running into is that the working code does not put the calendar item in the users calendar... I am working on a citrix server and I am not sure how to point this to the individual users name... This is a template that we use with new clients. So several different users will access this, and I want the reminder to be for the user logged in and using the template... the code I am using below is working but only on my home computer and not when I am logged into the citrix server at work. Have any ideas please let me know! &lt;br&gt;    &lt;br&gt;  &lt;pre class="prettyprint"&gt;   Sub SetAppt() response = MsgBox("Would you like to Schedule a reminder to Complete the OHBH", vbYesNo)

If response = vbNo Then
 MsgBox ("Good Catch!")
 Exit Sub
 
End If

 Dim olApp As Outlook.Application
 Dim olApt As AppointmentItem

 Set olApp = New Outlook.Application
 Set olApt = olApp.CreateItem(olAppointmentItem)

 With olApt
 .Start = Date + 7 + TimeValue("12:00:00")
 .End = .Start + TimeValue("00:30:00")
 .Subject = "Complete OHBH for " + Sheets("Master").Range("B3")
 .Location = "CATT &amp;gt; Bridge Screen"
 .Body = Sheets("Master").Range("B3") + "'s assessment was 7 days ago. You have 3 days to complete the OHBH"
 .BusyStatus = olBusy
 .ReminderMinutesBeforeStart = 120
 .ReminderSet = True
 .Save

 End With

 Set olApt = Nothing
 Set olApp = Nothing

End Sub &lt;/pre&gt; &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=95738</link><pubDate>Wed, 11 Jan 2012 11:00:03 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (DMaCATO)</title><description>  Thanks so much for this script. &lt;br&gt;    &lt;br&gt;  Is there any way of writing the output to a network share? I would like to try and incorporate this into a login script, and output each user that logs in to the same network share with their username appended before pst.log. &lt;br&gt;    &lt;br&gt;  Anyone? &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=94915</link><pubDate>Fri, 18 Nov 2011 08:14:05 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (NHS_newVBer)</title><description>  &lt;blockquote class="quote"&gt;&lt;i&gt;tfairfoul&lt;/i&gt;&lt;br&gt;  &lt;br&gt;  &lt;br&gt; Hi,  &lt;br&gt;   I was wondering if any update is required for this script to work with windows 7 and office 2010. I have used it in the past with xp and office 2003, however I just went to try it with office 2010 on windows 7 and I am getting errors related to Line:  &lt;br&gt; For x = lBound(P_PSTGuildValue) to uBound(P_PSTGuildValue)       &lt;br&gt; The error I am getting is Type Mismatch: 'lBound'  &lt;br&gt;    &lt;br&gt; Any thoughts would be helpful.  &lt;br&gt;    &lt;br&gt; Thanks  &lt;br&gt;    &lt;br&gt; Todd  &lt;br&gt; &lt;/blockquote&gt;  &lt;br&gt;  &lt;br&gt; I had the same issue and after some error checking my issue appeared to be the fact that key 00033009 with a value of 20 is not unique to PST files ..... I have an ldap address book that uses this value as well. &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=94590</link><pubDate>Thu, 03 Nov 2011 17:22:52 GMT</pubDate></item><item><title>RE: Find PST files configured in outlook (trolrolo)</title><description>  Wonderfull script. I have added some functions. &lt;br&gt;  Now it's works with: &lt;br&gt;  - unicode file name &lt;br&gt;  - shows the name of file in Outlook &lt;br&gt;  - works with all Outlook profiles &lt;br&gt;    &lt;br&gt;    &lt;br&gt;  Option Explicit &lt;br&gt;  'On Error Resume Next &lt;br&gt;  Const HKEY_CURRENT_USER = &amp;amp;H80000001 &lt;br&gt;  const HKEY_LOCAL_MACHINE = &amp;amp;H80000002 &lt;br&gt;  const KEY_QUERY_VALUE = &amp;amp;H0001 &lt;br&gt;  Const r_PSTGuidLocation = "01023d00" &lt;br&gt;  Const r_MasterConfig = "01023d0e" &lt;br&gt;  Const r_PSTCheckFile = "00033009" &lt;br&gt;  Const r_PSTFile = "001f6700" &lt;br&gt;  Const r_PSTNameFile = "001f3001" &lt;br&gt;  Const r_PSTNameFileA = "001f3006" &lt;br&gt;  Const r_keyMaster = "9207f3e0a3b11019908b08002b2a56c2" &lt;br&gt;  Const r_ProfilesRoot = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" &lt;br&gt;  Const r_DefaultOutlookProfile = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" &lt;br&gt;  Const r_DefaultProfileString = "DefaultProfile" &lt;br&gt;  Dim oReg        :Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") &lt;br&gt;  Dim objFSO    :Set objFSO = CreateObject("Scripting.FileSystemObject") &lt;br&gt;  Dim objPSTLog    :Set objPSTLog = objFSO.OpenTextFile(ExpandEvnVariable("Temp") &amp;amp; "\pst.log",2,True)     &lt;br&gt;  Dim arrSubKeys, subkey, strValue, i, pstFile, arrPSTs, DefaultProfileName, OProfile, errchk, ProfilName, zi &lt;br&gt;   &lt;br&gt;   &lt;br&gt;  oReg.GetStringValue HKEY_CURRENT_USER,r_DefaultOutlookProfile,r_DefaultProfileString,DefaultProfileName &lt;br&gt;  objPSTLog.WriteLine("Default Profile: "+DefaultProfileName) &lt;br&gt;  objPSTLog.WriteLine("") &lt;br&gt;  objPSTLog.WriteLine("") &lt;br&gt;  &lt;br&gt;  errchk = oReg.EnumKey (HKEY_CURRENT_USER,r_DefaultOutlookProfile,OProfile) &lt;br&gt;  IF errchk=0 THEN &lt;br&gt;  For zi = lBound(OProfile) to uBound(OProfile)     &lt;br&gt;  ProfilName=OProfile(zi) &lt;br&gt;  objPSTLog.WriteLine("=== Profile: "+ProfilName+" ===") &lt;br&gt;  GetPSTsForProfile(ProfilName) &lt;br&gt;  objPSTLog.WriteLine("") &lt;br&gt;  objPSTLog.WriteLine("") &lt;br&gt;  Next     &lt;br&gt;  END IF &lt;br&gt;   &lt;br&gt;   &lt;br&gt;  objPSTLog.close &lt;br&gt;  Set objPSTLog = Nothing     &lt;br&gt;  '_____________________________________________________________________________________________________________________________ &lt;br&gt;  Function GetPSTsForProfile(p_profileName) &lt;br&gt;  Dim strHexNumber, strPSTGuid, strFoundPST &lt;br&gt;  Dim HexCount    :HexCount = 0 &lt;br&gt;   &lt;br&gt;  oReg.GetBinaryValue HKEY_CURRENT_USER,r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; r_keyMaster,r_MasterConfig,strValue &lt;br&gt;  For i = lBound(strValue) to uBound(strValue)     &lt;br&gt;  If Len(Hex(strValue(i))) = 1 Then  &lt;br&gt;  strHexNumber = "0" &amp;amp; Hex(strValue(i)) &lt;br&gt;  Else &lt;br&gt;  strHexNumber = Hex(strValue(i)) &lt;br&gt;  End If         &lt;br&gt;  strPSTGuid = strPSTGuid + strHexNumber &lt;br&gt;  HexCount = HexCount + 1 &lt;br&gt;  If HexCount = 16 Then  &lt;br&gt;  If IsAPST(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) Then &lt;br&gt;  'wscript.echo vbCrLf &amp;amp; "PST FOUND: " &amp;amp; PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) &lt;br&gt;  'strFoundPST = strFoundPST &amp;amp; "??" &amp;amp; PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid)) &lt;br&gt;  objPSTLog.WriteLine(PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))) &lt;br&gt;  End If     &lt;br&gt;  HexCount = 0 &lt;br&gt;  strPSTGuid = "" &lt;br&gt;  End If             &lt;br&gt;  Next &lt;br&gt;  'GetPSTsForProfile = strFoundPST &lt;br&gt;  End Function &lt;br&gt;  '_____________________________________________________________________________________________________________________________ &lt;br&gt;  Function IsAPST(p_PSTGuid) &lt;br&gt;  Dim x, P_PSTGuildValue &lt;br&gt;  Dim P_PSTCheck:P_PSTCheck=0 &lt;br&gt;  IsAPST=False &lt;br&gt;  oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTCheckFile,P_PSTGuildValue &lt;br&gt;  For x = lBound(P_PSTGuildValue) to uBound(P_PSTGuildValue)     &lt;br&gt;  P_PSTCheck = P_PSTCheck + Hex(P_PSTGuildValue(x)) &lt;br&gt;  Next     &lt;br&gt;  If P_PSTCheck=20 Then &lt;br&gt;  IsAPST=True &lt;br&gt;  End If     &lt;br&gt;  End Function  &lt;br&gt;  '_____________________________________________________________________________________________________________________________ &lt;br&gt;  Function PSTlocation(p_PSTGuid) &lt;br&gt;  Dim y, P_PSTGuildValue, t_strHexNumber &lt;br&gt;  oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTGuidLocation,P_PSTGuildValue &lt;br&gt;  For y = lBound(P_PSTGuildValue) to uBound(P_PSTGuildValue)     &lt;br&gt;  If Len(Hex(P_PSTGuildValue(y))) = 1 Then &lt;br&gt;  PSTlocation = PSTlocation + "0" &amp;amp; Hex(P_PSTGuildValue(y)) &lt;br&gt;  Else &lt;br&gt;  PSTlocation = PSTlocation + Hex(P_PSTGuildValue(y))     &lt;br&gt;  End If     &lt;br&gt;  Next     &lt;br&gt;  End Function  &lt;br&gt;  '_____________________________________________________________________________________________________________________________ &lt;br&gt;  &lt;br&gt;  Function PSTFileName(p_PSTGuid) &lt;br&gt;  Dim z, P_PSTName, P_PST1, ChkAccess, errcheck &lt;br&gt;  Dim strString:strString = "Name: " &lt;br&gt;   &lt;br&gt;  errcheck = oReg.GetBinaryValue (HKEY_CURRENT_USER,p_PSTGuid,r_PSTNameFile,P_PST1) &lt;br&gt;  IF errcheck=0 THEN &lt;br&gt;  z = lBound(P_PST1) &lt;br&gt;  While z &amp;lt;=uBound(P_PST1)-1 &lt;br&gt;  strString = strString &amp;amp; ChrW(P_PST1(z)+256*P_PST1(z+1)) &lt;br&gt;  z=z+2 &lt;br&gt;  Wend &lt;br&gt;  ELSE &lt;br&gt;  errcheck=oReg.GetBinaryValue (HKEY_CURRENT_USER,p_PSTGuid,r_PSTNameFileA,P_PST1) &lt;br&gt;  IF errcheck=0 THEN &lt;br&gt;  z = lBound(P_PST1) &lt;br&gt;  While z &amp;lt;=uBound(P_PST1)-1 &lt;br&gt;  strString = strString &amp;amp; ChrW(P_PST1(z)+256*P_PST1(z+1)) &lt;br&gt;  z=z+2 &lt;br&gt;  Wend &lt;br&gt;  END IF &lt;br&gt;  END IF &lt;br&gt;  strString = strString + chr (13)+chr(10)+"   =&amp;gt; File Name: " &lt;br&gt;  oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTFile,P_PSTName &lt;br&gt;  z = lBound(P_PSTName) &lt;br&gt;  While z &amp;lt;=uBound(P_PSTName)-1 &lt;br&gt;  strString = strString &amp;amp; ChrW(P_PSTName(z)+256*P_PSTName(z+1)) &lt;br&gt;  z=z+2 &lt;br&gt;  Wend     &lt;br&gt;  PSTFileName = strString &lt;br&gt;  Set z = nothing &lt;br&gt;  Set P_PSTName = nothing &lt;br&gt;  End Function  &lt;br&gt;   &lt;br&gt;  '_________________________________________________________________________________________________________ &lt;br&gt;  Function ExpandEvnVariable(ExpandThis) &lt;br&gt;  Dim objWSHShell    :Set objWSHShell = CreateObject("WScript.Shell") &lt;br&gt;  ExpandEvnVariable = objWSHShell.ExpandEnvironmentStrings("%" &amp;amp; ExpandThis &amp;amp; "%") &lt;br&gt;  End Function &lt;br&gt;  '_________________________________________________________________________________________________________ &lt;br&gt;   &lt;br&gt;   &lt;br&gt;   &lt;br&gt;  &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=93836</link><pubDate>Sat, 24 Sep 2011 02:27:43 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (kingdc)</title><description>  Robszar,  &lt;br&gt;   &lt;br&gt;  It looks like your last example is missing come carriage returns and line feeds.  I took the liberty of editing it myself and tested in Windows 7 (64bit) &lt;br&gt;    &lt;br&gt;  &lt;pre class="prettyprint"&gt; Option Explicit
Const HKEY_CURRENT_USER = &amp;amp;H80000001
Const r_PSTGuidLocation = "01023d00"
Const r_MasterConfig = "01023d0e"
Const r_PSTCheckFile = "00033009"
Const r_PSTFile = "001f6700"
Const r_keyMaster = "9207f3e0a3b11019908b08002b2a56c2"
Const r_ProfilesRoot = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
Const r_DefaultProfileString = "DefaultProfile"
Dim oReg        :Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Dim arrSubKeys, subkey, strValue, i, pstFile, arrPSTs, DefaultProfileName  

oReg.GetStringValue HKEY_CURRENT_USER,r_ProfilesRoot,r_DefaultProfileString,DefaultProfileName 

GetPSTsForProfile(DefaultProfileName)

'_____________________________________________________________________________________________________________________________
Function GetPSTsForProfile(p_profileName) 
Dim strHexNumber, strPSTGuid, strFoundPST  

oReg.GetBinaryValue HKEY_CURRENT_USER,r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; r_keyMaster,r_MasterConfig,strValue 

If IsUsableArray (strValue) Then
 For Each i In strValue
 If Len(Hex(i)) = 1 Then
 strHexNumber = CInt("0") &amp;amp; Hex(i)
 Else
 strHexNumber = Hex(i)
 End If
 
 strPSTGuid = strPSTGuid + strHexNumber

 If Len(strPSTGuid) = 32 Then
 If IsAPST(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) Then
 Wscript.Echo PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _ 
 PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))
 wscript.echo GetSize(PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _ 
 PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))) 
 End If
 
 strPSTGuid = "" 
 
 End If            
 Next 
End If

End Function
'_____________________________________________________________________________________________________________________________

Function GetSize(zFile)
Dim objFSO      :Set objFSO = CreateObject("Scripting.FileSystemObject")
dim objFile     :Set objFile = objFSO.GetFile(zFile)

GetSize = ConvertSize(objFile.Size)

End Function
'_____________________________________________________________________________________________________________________________

Function ConvertSize(Size)

Do While InStr(Size,",") 
'Remove commas from size     
 CommaLocate = InStr(Size,",")     
 Size = Mid(Size,1,CommaLocate - 1) &amp;amp; _         
 Mid(Size,CommaLocate + 1,Len(Size) - CommaLocate) 
Loop

Dim Suffix:Suffix = " Bytes" 
If Size &amp;gt;= 1024 Then suffix = " KB" 
If Size &amp;gt;= 1048576 Then suffix = " MB" 
If Size &amp;gt;= 1073741824 Then suffix = " GB" 
If Size &amp;gt;= 1099511627776 Then suffix = " TB"

Select Case Suffix
 Case " KB" Size = Round(Size / 1024, 1)
 Case " MB" Size = Round(Size / 1048576, 1)
 Case " GB" Size = Round(Size / 1073741824, 1)
 Case " TB" Size = Round(Size / 1099511627776, 1) 
End Select

ConvertSize = Size &amp;amp; Suffix 

End Function 
'_____________________________________________________________________________________________________________________________ 

Function IsAPST(p_PSTGuid)
Dim x, P_PSTGuildValue 
Dim P_PSTCheck:P_PSTCheck=0
IsAPST=False 

oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTCheckFile,P_PSTGuildValue

If IsUsableArray (P_PSTGuildValue) Then
 For Each x in P_PSTGuildValue 
 P_PSTCheck = P_PSTCheck + Hex(x)
 Next
End If

If P_PSTCheck=20 Then 
 IsAPST=True
End If

End Function  
'_____________________________________________________________________________________________________________________________ 

Function PSTlocation(p_PSTGuid) 
Dim y, P_PSTGuildValue

oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTGuidLocation,P_PSTGuildValue 

If IsUsableArray (P_PSTGuildValue) Then 
 For Each y In P_PSTGuildValue
 If Len(Hex(y)) = 1 Then
 PSTlocation = PSTlocation &amp;amp; CInt("0") &amp;amp; Hex(y)
 Else
 PSTlocation = PSTlocation &amp;amp; Hex(y) 
 End If     
 Next
End If

End Function  
'_____________________________________________________________________________________________________________________________

Function PSTFileName(p_PSTGuid) 
Dim z, P_PSTName 
Dim strString : strString = "" 

oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTFile,P_PSTName

If IsUsableArray (P_PSTName) Then
 For Each z in P_PSTName
 If z &amp;gt; 0 Then strString = strString &amp;amp; Chr(z)
 Next
End If

PSTFileName = strString

End Function  
'_________________________________________________________________________________________________________ 
Function ExpandEvnVariable(ExpandThis)
Dim objWSHShell    :Set objWSHShell = CreateObject("WScript.Shell")

ExpandEvnVariable = objWSHShell.ExpandEnvironmentStrings("%" &amp;amp; ExpandThis &amp;amp; "%")

End Function         
'_________________________________________________________________________________________________________ 

Function IsUsableArray(rvnt)
'-- Use this function to test for a Null, Empty or an undimensioned array.
'-- Useful b/c some interfaces can hold properties for which if they have a
'-- value will be an Array but may also be Null or an undimensioned Array.
'-- It assumes that a Null or Empty could potentially be an array but not yet dimensioned. 
'-- It returns -1 if it is passed a string, long, etc...
'-- It returns 0 for an empty array or the number of elements in the first dimension.

IsUsableArray = 0 

If (VarType(rvnt) And 8192) = 8192 Then 
 IsUsableArray = UBound(rvnt) - LBound(rvnt) + 1 
 ElseIf Not (IsEmpty(rvnt) Or IsNull(rvnt)) Then 
 IsUsableArray = -1 
End If

End Function &lt;/pre&gt; &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=92745</link><pubDate>Tue, 09 Aug 2011 04:56:24 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (robszar)</title><description>  I updated the last version with the PST size &lt;br&gt;    &lt;br&gt;  &lt;pre class="prettyprint"&gt;   Option Explicit Const HKEY_CURRENT_USER = &amp;amp;H80000001 Const r_PSTGuidLocation = "01023d00" Const r_MasterConfig = "01023d0e" Const r_PSTCheckFile = "00033009" Const r_PSTFile = "001f6700" Const r_keyMaster = "9207f3e0a3b11019908b08002b2a56c2" Const r_ProfilesRoot = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" Const r_DefaultProfileString = "DefaultProfile" Dim oReg        :Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") Dim arrSubKeys, subkey, strValue, i, pstFile, arrPSTs, DefaultProfileName  oReg.GetStringValue HKEY_CURRENT_USER,r_ProfilesRoot,r_DefaultProfileString,DefaultProfileName GetPSTsForProfile(DefaultProfileName)  '_____________________________________________________________________________________________________________________________ Function GetPSTsForProfile(p_profileName) Dim strHexNumber, strPSTGuid, strFoundPST  oReg.GetBinaryValue HKEY_CURRENT_USER,r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; r_keyMaster,r_MasterConfig,strValue If IsUsableArray (strValue) Then For Each i In strValue If Len(Hex(i)) = 1 Then  strHexNumber = CInt("0") &amp;amp; Hex(i) Else strHexNumber = Hex(i) End If         strPSTGuid = strPSTGuid + strHexNumber If Len(strPSTGuid) = 32 Then  If IsAPST(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) Then Wscript.Echo PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _ PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid)) wscript.echo GetSize(PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _ PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))) End If     strPSTGuid = "" End If             Next End If End Function '_____________________________________________________________________________________________________________________________
Function GetSize(zFile) Dim objFSO	:Set objFSO = CreateObject("Scripting.FileSystemObject")dim objFile	:Set objFile = objFSO.GetFile(zFile)GetSize = ConvertSize(objFile.Size)End Function '_____________________________________________________________________________________________________________________________
Function ConvertSize(Size) Do While InStr(Size,",") 'Remove commas from size     CommaLocate = InStr(Size,",")     Size = Mid(Size,1,CommaLocate - 1) &amp;amp; _         Mid(Size,CommaLocate + 1,Len(Size) - CommaLocate) Loop
Dim Suffix:Suffix = " Bytes" If Size &amp;gt;= 1024 Then suffix = " KB" If Size &amp;gt;= 1048576 Then suffix = " MB" If Size &amp;gt;= 1073741824 Then suffix = " GB" If Size &amp;gt;= 1099511627776 Then suffix = " TB" 
Select Case Suffix     Case " KB" Size = Round(Size / 1024, 1)     Case " MB" Size = Round(Size / 1048576, 1)     Case " GB" Size = Round(Size / 1073741824, 1)     Case " TB" Size = Round(Size / 1099511627776, 1) End Select
ConvertSize = Size &amp;amp; Suffix End Function '_____________________________________________________________________________________________________________________________ Function IsAPST(p_PSTGuid) Dim x, P_PSTGuildValue Dim P_PSTCheck:P_PSTCheck=0 IsAPST=False oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTCheckFile,P_PSTGuildValue If IsUsableArray (P_PSTGuildValue) Then For Each x in P_PSTGuildValue P_PSTCheck = P_PSTCheck + Hex(x) Next End If If P_PSTCheck=20 Then IsAPST=True End If     End Function  '_____________________________________________________________________________________________________________________________ Function PSTlocation(p_PSTGuid) Dim y, P_PSTGuildValue oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTGuidLocation,P_PSTGuildValue If IsUsableArray (P_PSTGuildValue) Then For Each y In P_PSTGuildValue If Len(Hex(y)) = 1 Then PSTlocation = PSTlocation &amp;amp; CInt("0") &amp;amp; Hex(y) Else PSTlocation = PSTlocation &amp;amp; Hex(y) End If     Next End If End Function  '_____________________________________________________________________________________________________________________________ Function PSTFileName(p_PSTGuid) Dim z, P_PSTName Dim strString : strString = "" oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTFile,P_PSTName If IsUsableArray (P_PSTName) Then For Each z in P_PSTName If z &amp;gt; 0 Then strString = strString &amp;amp; Chr(z) Next End If PSTFileName = strString End Function  '_________________________________________________________________________________________________________ Function ExpandEvnVariable(ExpandThis) Dim objWSHShell    :Set objWSHShell = CreateObject("WScript.Shell") ExpandEvnVariable = objWSHShell.ExpandEnvironmentStrings("%" &amp;amp; ExpandThis &amp;amp; "%") End Function '_________________________________________________________________________________________________________ Function IsUsableArray(rvnt)'-- Use this function to test for a Null, Empty or an undimensioned array.'-- Useful b/c some interfaces can hold properties for which if they have a'-- value will be an Array but may also be Null or an undimensioned Array.
'-- It assumes that a Null or Empty could potentially be an array but not yet dimensioned. '-- It returns -1 if it is passed a string, long, etc...'-- It returns 0 for an empty array or the number of elements in the first dimension.
 IsUsableArray = 0 If (VarType(rvnt) And 8192) = 8192 Then IsUsableArray = UBound(rvnt) - LBound(rvnt) + 1 ElseIf Not (IsEmpty(rvnt) Or IsNull(rvnt)) Then IsUsableArray = -1 End IfEnd Function &lt;/pre&gt; &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=91221</link><pubDate>Tue, 24 May 2011 13:23:12 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (Nomi1985)</title><description>  I had the same problem you had and I fixed the code as such: &lt;br&gt;  &lt;pre class="prettyprint"&gt; Option Explicit
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const r_PSTGuidLocation = "01023d00"
 Const r_MasterConfig = "01023d0e"
 Const r_PSTCheckFile = "00033009"
 Const r_PSTFile = "001f6700"
 Const r_keyMaster = "9207f3e0a3b11019908b08002b2a56c2"
 Const r_ProfilesRoot = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
 Const r_DefaultProfileString = "DefaultProfile"
 Dim oReg        :Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 Dim arrSubKeys, subkey, strValue, i, pstFile, arrPSTs, DefaultProfileName
 
 oReg.GetStringValue HKEY_CURRENT_USER,r_ProfilesRoot,r_DefaultProfileString,DefaultProfileName
 GetPSTsForProfile(DefaultProfileName)
 
 '_____________________________________________________________________________________________________________________________
 Function GetPSTsForProfile(p_profileName)
 Dim strHexNumber, strPSTGuid, strFoundPST
 
 oReg.GetBinaryValue HKEY_CURRENT_USER,r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; r_keyMaster,r_MasterConfig,strValue
 If IsUsableArray (strValue) Then
 For Each i In strValue
 If Len(Hex(i)) = 1 Then 
 strHexNumber = CInt("0") &amp;amp; Hex(i)
 Else
 strHexNumber = Hex(i)
 End If        
 strPSTGuid = strPSTGuid + strHexNumber
 If Len(strPSTGuid) = 32 Then 
 If IsAPST(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) Then
 Wscript.Echo PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _
 PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))
 End If    
 strPSTGuid = ""
 End If            
 Next
 End If
 End Function
 '_____________________________________________________________________________________________________________________________
 Function IsAPST(p_PSTGuid)
 Dim x, P_PSTGuildValue
 Dim P_PSTCheck:P_PSTCheck=0
 IsAPST=False
 oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTCheckFile,P_PSTGuildValue
 If IsUsableArray (P_PSTGuildValue) Then
 For Each x in P_PSTGuildValue
 P_PSTCheck = P_PSTCheck + Hex(x)
 Next
 End If
 If P_PSTCheck=20 Then
 IsAPST=True
 End If    
 End Function 
 '_____________________________________________________________________________________________________________________________
 Function PSTlocation(p_PSTGuid)
 Dim y, P_PSTGuildValue
 oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTGuidLocation,P_PSTGuildValue
 If IsUsableArray (P_PSTGuildValue) Then
 For Each y In P_PSTGuildValue
 If Len(Hex(y)) = 1 Then
 PSTlocation = PSTlocation &amp;amp; CInt("0") &amp;amp; Hex(y)
 Else
 PSTlocation = PSTlocation &amp;amp; Hex(y)
 End If    
 Next
 End If
 End Function 
 '_____________________________________________________________________________________________________________________________
 Function PSTFileName(p_PSTGuid)
 Dim z, P_PSTName
 Dim strString : strString = ""
 oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTFile,P_PSTName
 If IsUsableArray (P_PSTName) Then
 For Each z in P_PSTName
 If z &amp;gt; 0 Then strString = strString &amp;amp; Chr(z)
 Next
 End If
 PSTFileName = strString
 End Function 
 '_________________________________________________________________________________________________________
 Function ExpandEvnVariable(ExpandThis)
 Dim objWSHShell    :Set objWSHShell = CreateObject("WScript.Shell")
 ExpandEvnVariable = objWSHShell.ExpandEnvironmentStrings("%" &amp;amp; ExpandThis &amp;amp; "%")
 End Function
 '_________________________________________________________________________________________________________
 Function IsUsableArray(rvnt)
'-- Use this function to test for a Null, Empty or an undimensioned array.
'-- Useful b/c some interfaces can hold properties for which if they have a
'-- value will be an Array but may also be Null or an undimensioned Array.

'-- It assumes that a Null or Empty could potentially be an array but not yet dimensioned. 
'-- It returns -1 if it is passed a string, long, etc...
'-- It returns 0 for an empty array or the number of elements in the first dimension.

 IsUsableArray = 0
 If (VarType(rvnt) And 8192) = 8192 Then
 IsUsableArray = UBound(rvnt) - LBound(rvnt) + 1
 ElseIf Not (IsEmpty(rvnt) Or IsNull(rvnt)) Then
 IsUsableArray = -1
 End If
End Function &lt;/pre&gt; &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=91171</link><pubDate>Sun, 22 May 2011 12:57:53 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (tfairfoul)</title><description>  Hi, &lt;br&gt;    I was wondering if any update is required for this script to work with windows 7 and office 2010. I have used it in the past with xp and office 2003, however I just went to try it with office 2010 on windows 7 and I am getting errors related to Line: &lt;br&gt;  For x = lBound(P_PSTGuildValue) to uBound(P_PSTGuildValue)      &lt;br&gt; The error I am getting is Type Mismatch: 'lBound' &lt;br&gt;    &lt;br&gt;  Any thoughts would be helpful. &lt;br&gt;    &lt;br&gt;  Thanks &lt;br&gt;    &lt;br&gt;  Todd &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=90925</link><pubDate>Fri, 06 May 2011 13:51:55 GMT</pubDate></item><item><title>Re:Find PST files configured in outlook (zlatan24)</title><description>  Only   couple tools has quite facilties for solving this problem, which resembles to   mine. One of them I used some years ago and last time it didn't fully help   me. Next software has more chances for helping to my mind. It might be useful   for other types of problems with ms outlook -   &lt;a href="http://www.recoverytoolbox.com/fix_error_in_pst_files.html" target="_blank" rel="nofollow"&gt;fix crc error   pst file&lt;/a&gt;. &lt;br&gt;  </description><link>http://www.visualbasicscript.com/fb.ashx?m=89955</link><pubDate>Fri, 18 Mar 2011 13:44:04 GMT</pubDate></item><item><title>RE: Find PST files configured in outlook (rfrye123)</title><description>  Bringing this back from the dead! &lt;br&gt;       &lt;br&gt;      Would it be too much to ask to pull the OST information as well? Of course it would have to tell whether outlook is using cached exchange mode or not! &lt;br&gt;       &lt;br&gt;      Could anyone point me in the right direction? thanks all! </description><link>http://www.visualbasicscript.com/fb.ashx?m=85872</link><pubDate>Wed, 22 Sep 2010 15:07:13 GMT</pubDate></item><item><title>RE: Find PST files configured in outlook (ginolard)</title><description>  If I remember rightly, I stumbled across it somehow.&amp;nbsp; I think I was looking at the outlookcode.com site for a way to do it. </description><link>http://www.visualbasicscript.com/fb.ashx?m=77307</link><pubDate>Thu, 15 Oct 2009 04:23:44 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (mizzy)</title><description>  Ginolard, &lt;br&gt;   &lt;br&gt;  I know your entry is a few years old...but... &lt;br&gt;  How the heck did you know that STOREID would return the path to the PST! Its in HEX for a start!!!! MSDN tells you nothing! and you knew to convert it! &lt;br&gt;  Man that was amazing.... &lt;br&gt;   &lt;br&gt;  Thanks v much. &lt;br&gt;  Mizzy </description><link>http://www.visualbasicscript.com/fb.ashx?m=74856</link><pubDate>Tue, 28 Jul 2009 03:39:47 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (TomRiddle)</title><description>  &lt;font size="2"&gt;if you are going to re-profile a user you will want to do it from their machine, but if their profile is messed up or they are not logged in this script probably would not work. I was thinking of writing a script that gets all profile settings, but there is a couple in Outlook I could not work out so thought it pointless to get some by script but not all. &lt;/font&gt; &lt;br&gt;  &lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt; &lt;br&gt;  &lt;font size="2"&gt;Anyway I hacked on a bit of code I have used in the last couple of my scripts onto&amp;nbsp;to&amp;nbsp;this script to get the PST files in use on a remote machine. &lt;/font&gt; &lt;br&gt;  &lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt; &lt;br&gt;  &lt;font size="2"&gt;Have not tidied it up so it is a bit messy but it works. Basically I added a prompt for remote computer and then find user logged into that machine, then his SID and then changed HKEY_CURRENT_USER everywhere to HKEY_USERS&amp;nbsp; then query runs on remote machine. &lt;/font&gt; &lt;br&gt;  &lt;font face="times new roman"&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt; &lt;br&gt;   &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 &amp;nbsp;
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const HKEY_USERS&amp;nbsp; = &amp;amp;H80000003
 Const r_PSTGuidLocation = "01023d00"
 Const r_MasterConfig = "01023d0e"
 Const r_PSTCheckFile = "00033009"
 Const r_PSTFile = "001f6700"
 Const r_keyMaster = "9207f3e0a3b11019908b08002b2a56c2"
 Const r_DefaultProfileString = "DefaultProfile"
 Dim oReg, strComputer
 Dim arrSubKeys, subkey, strValue, i, pstFile, arrPSTs, DefaultProfileName
 strComputer = inputbox("Enter Remote Computer name to find PST files in use on that computer")
 CU=GetCurrentUser(strComputer)
 CUSID = GetSIDFromUser(CU)
 r_ProfilesRoot = CUSID&amp;amp;"\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
 
 Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &amp;amp;_ 
 &amp;nbsp;&amp;nbsp; strComputer &amp;amp; "\root\default:StdRegProv")
 
 oReg.GetStringValue HKEY_USERS,r_ProfilesRoot,r_DefaultProfileString,DefaultProfileName
 GetPSTsForProfile(DefaultProfileName)
 &amp;nbsp;
 '_____________________________________________________________________________________________________________________________
 Function GetPSTsForProfile(p_profileName)
 &amp;nbsp;&amp;nbsp; Dim strHexNumber, strPSTGuid, strFoundPST
 &amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_USERS,r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; r_keyMaster,r_MasterConfig,strValue
 &amp;nbsp;&amp;nbsp; For Each i In strValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(Hex(i)) = 1 Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strHexNumber = CInt("0") &amp;amp; Hex(i)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strHexNumber = Hex(i)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPSTGuid = strPSTGuid + strHexNumber
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(strPSTGuid) = 32 Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsAPST(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Echo PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPSTGuid = ""
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp; Next
 End Function
 '_____________________________________________________________________________________________________________________________
 Function IsAPST(p_PSTGuid)
 &amp;nbsp;&amp;nbsp; Dim x, P_PSTGuildValue
 &amp;nbsp;&amp;nbsp; Dim P_PSTCheck:P_PSTCheck=0
 &amp;nbsp;&amp;nbsp; IsAPST=False
 &amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_USERS,p_PSTGuid,r_PSTCheckFile,P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each x in P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P_PSTCheck = P_PSTCheck + Hex(x)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If P_PSTCheck=20 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IsAPST=True
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 End Function 
 '_____________________________________________________________________________________________________________________________
 Function PSTlocation(p_PSTGuid)
 &amp;nbsp;&amp;nbsp; Dim y, P_PSTGuildValue
 &amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_USERS,p_PSTGuid,r_PSTGuidLocation,P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each y In P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(Hex(y)) = 1 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PSTlocation = PSTlocation &amp;amp; CInt("0") &amp;amp; Hex(y)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PSTlocation = PSTlocation &amp;amp; Hex(y)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 End Function 
 '_____________________________________________________________________________________________________________________________
 Function PSTFileName(p_PSTGuid)
 &amp;nbsp;&amp;nbsp; Dim z, P_PSTName
 &amp;nbsp;&amp;nbsp; Dim strString : strString = ""
 &amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_USERS,p_PSTGuid,r_PSTFile,P_PSTName
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each z in P_PSTName
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If z &amp;gt; 0 Then strString = strString &amp;amp; Chr(z)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp; PSTFileName = strString
 End Function 
 '_________________________________________________________________________________________________________
 Function ExpandEvnVariable(ExpandThis)
 &amp;nbsp;&amp;nbsp; Dim objWSHShell&amp;nbsp;&amp;nbsp;&amp;nbsp; :Set objWSHShell = CreateObject("WScript.Shell")
 &amp;nbsp;&amp;nbsp; ExpandEvnVariable = objWSHShell.ExpandEnvironmentStrings("%" &amp;amp; ExpandThis &amp;amp; "%")
 End Function
 '_________________________________________________________________________________________________________
 Function GetCurrentUser(strComputer) 
 'Input: strComputer = machine to query 
 'Output: Current User as domain\logon 
 'Only works on XP/W2003
 &amp;nbsp;&amp;nbsp; on error resume next
 &amp;nbsp;&amp;nbsp; Set objWMIService = GetObject("winmgmts:" &amp;amp; "{impersonationLevel=impersonate}!\\" &amp;amp; strComputer &amp;amp; "\root\cimv2") 
 &amp;nbsp;&amp;nbsp; Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'explorer.exe'") 
 &amp;nbsp;&amp;nbsp; For Each objProcess in colProcessList 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objProcess.GetOwner strUserName, strUserDomain 
 &amp;nbsp;&amp;nbsp; Next 
 &amp;nbsp;&amp;nbsp; GetCurrentUser = strUserDomain &amp;amp; "\" &amp;amp; strUserName 
 &amp;nbsp;&amp;nbsp; if err&amp;lt;&amp;gt; 0 then
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Msgbox " Error accessing remote machine"
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.quit
 &amp;nbsp;&amp;nbsp; end if
 &amp;nbsp;&amp;nbsp; on error goto 0
 End Function 
 '-----------------------------------------------------------------------
 Function GetSIDFromUser(UserName) 
 'Input: UserName as domain\logon 
 'Output: SID 
 &amp;nbsp;&amp;nbsp; Dim DomainName, Result, WMIUser 
 &amp;nbsp;&amp;nbsp; If InStr(UserName, "\") &amp;gt; 0 Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DomainName = Mid(UserName, 1, InStr(UserName, "\") - 1) 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserName = Mid(UserName, InStr(UserName, "\") + 1) 
 &amp;nbsp;&amp;nbsp; Else 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DomainName = CreateObject("WScript.Network").UserDomain 
 &amp;nbsp;&amp;nbsp; End If 
 &amp;nbsp;&amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp; Set WMIUser = GetObject("winmgmts:{impersonationlevel=impersonate}!" _ 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; "/root/cimv2:Win32_UserAccount.Domain='" &amp;amp; DomainName &amp;amp; "'" _ 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; ",Name='" &amp;amp; UserName &amp;amp; "'") 
 &amp;nbsp;&amp;nbsp; If Err = 0 Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Result = WMIUser.SID 
 &amp;nbsp;&amp;nbsp; Else 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox "Error retrieving SID"
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.quit
 &amp;nbsp;&amp;nbsp; end if
 &amp;nbsp;&amp;nbsp; On Error GoTo 0 
 &amp;nbsp;&amp;nbsp; GetSIDFromUser = Result 
 End Function 
 '-----------------------------------------------------------------------
 &amp;nbsp;
 &amp;nbsp;
 &amp;nbsp;
 
 &lt;/pre&gt; &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &amp;nbsp; &lt;br&gt;   &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=62743</link><pubDate>Thu, 24 Jul 2008 23:21:49 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (L4suicide)</title><description>  I need to take this script one further. But i'm afraid my knowledge of the registry is limited. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Is it possible to modify this to list the PST files on the default mail profile for a remote machine? &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Sometimes i need to re-profile a user exactly how they had it set up before whatever change it is i've made thats removed their profile. Would be nice to have something that can list them all for me which i can add to a script i have to do a lot of other things :) &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=61978</link><pubDate>Mon, 30 Jun 2008 02:45:57 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (ginolard)</title><description>  HA!&amp;nbsp; I knew it was possible. &lt;br&gt;   &lt;br&gt;  Here's a way to get the information via MAPI.&amp;nbsp;&amp;nbsp; &lt;br&gt;   &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 Set objOutlook = CreateObject("Outlook.Application.11")
 Set objNS = objOutlook.GetNamespace("MAPI")
 &amp;nbsp; 
 For Each objFolder In objNS.Folders
 &amp;nbsp;&amp;nbsp;&amp;nbsp; If objFolder.Name = "Personal Folders" Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Echo GetPSTPath(objFolder.StoreID)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; End If
 Next
 
 Function GetPSTPath(input)
 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To Len(input) Step 2
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strSubString = Mid(input,i,2)&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If Not strSubString = "00" Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strPath = strPath &amp;amp; ChrW("&amp;amp;H" &amp;amp; strSubString)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Next
 &amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case True
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strPath,":\") &amp;gt; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GetPSTPath = Mid(strPath,InStr(strPath,":\")-1)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Case InStr(strPath,"\\") &amp;gt; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GetPSTPath = Mid(strPath,InStr(strPath,"\\"))
 &amp;nbsp;&amp;nbsp;&amp;nbsp; End Select
 End Function
 &lt;/pre&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=48828</link><pubDate>Wed, 27 Jun 2007 23:12:15 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (ginolard)</title><description>  I am absolutely convinced that you must be able to get this information using MAPI. &lt;br&gt;   &lt;br&gt;  I'm buggered if I can find out how to do it though ;) &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=48322</link><pubDate>Fri, 15 Jun 2007 05:52:41 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (robszar)</title><description>   &lt;br&gt;  I just found a way to backup open PST files &amp;nbsp;&lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s4.gif" alt="" /&gt;&amp;nbsp; So now I took the backup out of the login script and moved it to an SMS job that runs during the day.... &lt;br&gt;   &lt;br&gt;  if you want the hook up send me an email... &lt;br&gt;   &lt;br&gt;  &lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s5.gif" alt="" /&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=48320</link><pubDate>Fri, 15 Jun 2007 05:33:47 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (ginolard)</title><description>  I've been tasked with writing a script to backup user's PST files so this script was an ideal starting point.&amp;nbsp; I've tided it up a bit. &lt;br&gt;   &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 Option Explicit
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const r_PSTGuidLocation = "01023d00"
 Const r_MasterConfig = "01023d0e"
 Const r_PSTCheckFile = "00033009"
 Const r_PSTFile = "001f6700"
 Const r_keyMaster = "9207f3e0a3b11019908b08002b2a56c2"
 Const r_ProfilesRoot = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
 Const r_DefaultProfileString = "DefaultProfile"
 Dim oReg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 Dim arrSubKeys, subkey, strValue, i, pstFile, arrPSTs, DefaultProfileName
 
 oReg.GetStringValue HKEY_CURRENT_USER,r_ProfilesRoot,r_DefaultProfileString,DefaultProfileName
 GetPSTsForProfile(DefaultProfileName)
 &amp;nbsp; 
 '_____________________________________________________________________________________________________________________________
 Function GetPSTsForProfile(p_profileName)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strHexNumber, strPSTGuid, strFoundPST
 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_CURRENT_USER,r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; r_keyMaster,r_MasterConfig,strValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; For Each i In strValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(Hex(i)) = 1 Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strHexNumber = CInt("0") &amp;amp; Hex(i)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strHexNumber = Hex(i)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strPSTGuid = strPSTGuid + strHexNumber
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(strPSTGuid) = 32 Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If IsAPST(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid) Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Wscript.Echo PSTFileName(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; _
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; PSTlocation(r_ProfilesRoot &amp;amp; "\" &amp;amp; p_profileName &amp;amp; "\" &amp;amp; strPSTGuid))
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strPSTGuid = ""
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Next
 End Function
 '_____________________________________________________________________________________________________________________________
 Function IsAPST(p_PSTGuid)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim x, P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim P_PSTCheck:P_PSTCheck=0
 &amp;nbsp;&amp;nbsp;&amp;nbsp; IsAPST=False
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTCheckFile,P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; For Each x in P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; P_PSTCheck = P_PSTCheck + Hex(x)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If P_PSTCheck=20 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IsAPST=True
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 End Function 
 '_____________________________________________________________________________________________________________________________
 Function PSTlocation(p_PSTGuid)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim y, P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTGuidLocation,P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; For Each y In P_PSTGuildValue
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(Hex(y)) = 1 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PSTlocation = PSTlocation &amp;amp; CInt("0") &amp;amp; Hex(y)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PSTlocation = PSTlocation &amp;amp; Hex(y)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 End Function 
 '_____________________________________________________________________________________________________________________________
 Function PSTFileName(p_PSTGuid)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim z, P_PSTName
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strString : strString = ""
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oReg.GetBinaryValue HKEY_CURRENT_USER,p_PSTGuid,r_PSTFile,P_PSTName
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; For Each z in P_PSTName
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; If z &amp;gt; 0 Then strString = strString &amp;amp; Chr(z)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Next&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; PSTFileName = strString
 End Function 
 '_________________________________________________________________________________________________________
 Function ExpandEvnVariable(ExpandThis)
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objWSHShell&amp;nbsp;&amp;nbsp;&amp;nbsp; :Set objWSHShell = CreateObject("WScript.Shell")
 &amp;nbsp;&amp;nbsp;&amp;nbsp; ExpandEvnVariable = objWSHShell.ExpandEnvironmentStrings("%" &amp;amp; ExpandThis &amp;amp; "%")
 End Function
 '_________________________________________________________________________________________________________
 
 
 
 &lt;/pre&gt; &lt;br&gt;   &lt;br&gt;   &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=48314</link><pubDate>Fri, 15 Jun 2007 01:39:35 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (chong)</title><description>  baah asking before doing! ive got a script going...managed to get a way of adding the located pst files to the registry...all i need todo now is convert from ascii to hex using vbs. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &lt;font color="#ff0000"&gt;&lt;font size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; objNetwork, FSO, pstFolder &lt;br&gt;  &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strPSTpath, file, pstFiles&lt;/font&gt; &lt;br&gt;  &lt;font size="2"&gt;&amp;nbsp; &lt;br&gt;  &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  Set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; objNetwork = CreateObject(&lt;/font&gt;&lt;font color="#800000"&gt;&lt;font size="2"&gt;"Wscript.Network"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &lt;br&gt;  strUser = objNetwork.UserName &lt;br&gt;  strPSTPath = &lt;/font&gt;&lt;font color="#800000"&gt;&lt;font size="2"&gt;"\\fileserver\"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;amp;strUser&amp;amp;&lt;/font&gt;&lt;font color="#800000"&gt;&lt;font size="2"&gt;"\mailsettings" &lt;br&gt;  &lt;/font&gt;&lt;/font&gt;&lt;font color="#008000"&gt;&lt;font size="2"&gt; &lt;br&gt;  &lt;font color="#000000"&gt;&lt;/font&gt;&amp;nbsp; &lt;br&gt;  'get PST filenames. &lt;br&gt;  &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  Set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; FSO = CreateObject(&lt;/font&gt;&lt;font color="#800000"&gt;&lt;font size="2"&gt;"Scripting.FileSystemObject"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &lt;br&gt;  &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  Set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; pstFolder = FSO.GetFolder(strPSTPath) &lt;br&gt;  &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  Set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; pstFiles = pstFolder.Files &lt;br&gt;  strRegpath = &lt;/font&gt;&lt;font color="#800000"&gt;&lt;font size="2"&gt;"HKCU\SOFTWARE\Microsoft\Windows NT\currentVersion\Windows Messaging Subsystem\Profiles\MailProfile\" &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  For&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt;Each&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; pst &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt;in&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; pstFiles &lt;br&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wscript.echo pst &lt;br&gt;  &lt;/font&gt;&lt;font color="#008000"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;'convert to HEX character and place into a registry REG_BINARY KEY. &lt;br&gt;  &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;br&gt;   &lt;br&gt;  &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font size="2"&gt; &lt;br&gt;  Next &lt;br&gt;  &lt;/font&gt;&lt;/font&gt; </description><link>http://www.visualbasicscript.com/fb.ashx?m=46533</link><pubDate>Wed, 02 May 2007 04:30:55 GMT</pubDate></item><item><title> RE: Find PST files configured in outlook (chong)</title><description>  fantastic work...im in the process of doing the slight opposite. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  All of our user PST files are located in the same area on their&amp;nbsp;homedrives&amp;nbsp;i.e  &lt;br&gt;  &amp;nbsp; &lt;br&gt;  if a users logon is ABC, the path would be \\path\ABC\mailsettings&amp;nbsp; &lt;br&gt;  &amp;nbsp; &lt;br&gt;  thus, what im trying to do is reverse the conversion of hex data (reg_binary) from a string, prooving to be one hard pain in the ass. Before I go any futher with this, do you know whether this is actually possible? &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Thanking you &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=46531</link><pubDate>Wed, 02 May 2007 02:24:53 GMT</pubDate></item></channel></rss>
