Registry Location of Data Files

O

Oren

Hello,
I help in managing a pretty large network. As we are sadly using
pretty old computers people tend to crash\change computers pretty
often. To prevent large data loss they save important mail either on
the exchange server or in a personal folder the .pst file of which
usually should sit on their private network folder. I have a small
scripting applet running on each computer capturing a snapshot of the
computer status and saving it to a database on the network. I would
like it to also add a column for the location of the outlook data
files, so that I can see which users save their .pst files locally
instead of on the network.
In order to do that I need to know how the locations of the data files
in outlook are saved. I would suspect that it involves the registry
somehow, which is not a problem, but what I have found seemed to be a
bit too user personalized. I would appreciate any help in this, even
if it would mean that the script would have to jump from one key to
another in order to find the required information...

Thanks a lot,

Oren
 
S

Shay Levi

Hi Oren,


The registry location of the files are under:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging
Subsystem\Profiles\ProfileName

But they are not readable and stored in Binary values.
This VBScript code can tell you the path to any personal storage file (PST,OST).
You should run it
when Outlook is open.



set outlook = createobject("outlook.application")
set ns = outlook.GetNamespace("MAPI")

For Each item In ns.stores
If item.FilePath <> "" Then MsgBox item.FilePath
Next



HTH
 
D

Diane Poremsky

Storing pst on network drives is not supported and can lead to data loss.
 
O

Oren

that's very weird because as far as I can see it has worked this way
wonderfully for years... the data loss can occure if you dont backup
the network once in a while or if you have to have all data including
current day always up to date if you have a power surge or whatever -
both of which can lead to data loss anyhow on any system. :-\

Oren


Storing pst on network drives is not supported and can lead to data loss.

--
Diane Poremsky [MVP - Outlook]
Author, Teach Yourself Outlook 2003 in 24 Hours
Need Help with Common Tasks?http://www.outlook-tips.net/beginner/
Outlook 2007:http://www.slipstick.com/outlook/ol2007/

Outlook Tips by email:
(e-mail address removed)

Outlook Tips:http://www.outlook-tips.net/
Outlook & Exchange Solutions Center:http://www.slipstick.com
Subscribe to Exchange Messaging Outlook newsletter:
(e-mail address removed)

in message

Hello,
I help in managing a pretty large network. As we are sadly using
pretty old computers people tend to crash\change computers pretty
often. To prevent large data loss they save important mail either on
the exchange server or in a personal folder the .pst file of which
usually should sit on their private network folder. I have a small
scripting applet running on each computer capturing a snapshot of the
computer status and saving it to a database on the network. I would
like it to also add a column for the location of the outlook data
files, so that I can see which users save their .pst files locally
instead of on the network.
In order to do that I need to know how the locations of the data files
in outlook are saved. I would suspect that it involves the registry
somehow, which is not a problem, but what I have found seemed to be a
bit too user personalized. I would appreciate any help in this, even
if it would mean that the script would have to jump from one key to
another in order to find the required information...
Thanks a lot,
 
O

Oren

Thanks a lot!

I'll run some tests with that (have some pretty old configurations out
there) but it seems like you've given me pretty much all I need to
start from.

Thanks again!

Oren
 
B

Brian Tillman

Oren said:
that's very weird because as far as I can see it has worked this way
wonderfully for years... the data loss can occure if you dont backup
the network once in a while or if you have to have all data including
current day always up to date if you have a power surge or whatever -
both of which can lead to data loss anyhow on any system. :-\

It's more than that. The I/O protocols used for networking differ from the
I/O protocols used when accessing a local file and the former are not
well-suited to the type of I/O required to operate upon a PST.
 
S

Shay Levi

You're welcome. I had a similar question on the microsoft.public.windows.powershell
NG. I tested the code I posted under
Outlook 2007, it might not work on outlook 2003. For 2003 try this:



Set outlook = WScript.CreateObject("Outlook.Application")
Set ns = outlook.GetNamespace("MAPI")

For Each store In ns.Folders
path = HextoAscii(store.storeid)
pos = InStr(path,":\")
If pos then WScript.Echo Mid (path,pos -1)
Next

Function HexToAscii(str)
Dim i, out

For i = 1 To Len(str) Step 2
char = Mid(str, i, 2)
If char <> "00" then out = out & Chr("&H" & char )
Next

HexToAscii = out
End Function
 
O

Oren

ah - I'll look it up then...

I guess I have a lot of experimenting to do - afaik I have ppl running
outlook 2k on some machines - I've got to find a neat way of scripting
how to look up the version and then execute the correct code...
shouldn't be *too* tough, but still. Ah well - it'll have to wait
'till after the weekend anyhow.
 
O

Oren

oh, I see... hmm - well, I still think its safer this way - when you
have hard disks as badly handled as I've seen here - though I *will*
take this up to my boss...
Most of the mail is saved on the exchange server anyhow and the access
to the PSTs is only for the personal folders... but I see the point.

Thanks for clearing this up for me. :)

PS - excuse me, Diane, for not taking a deeper look into what you said
- it simply sounded like something I might read in some MS help page
and I dont trust most of them untill and if I understand and agree
with whats behind writing them.
 
S

Shay Levi

Set outlook = WScript.CreateObject("Outlook.Application")
Set ns = outlook.GetNamespace("MAPI")
MsgBox outlook.version
(...)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top