Office 2003 Contacts in Enterprise Environment

When we pushed out Office 2003, one of the problems that has emerged is that people's individual Contact Lists no longer appear as an option when they go to the address book or click TO:

I already know how to fix this on each workstation.  What I am looking for is a script or AD setting that will do this for automatically so I do not have to touch 150 machines.  I have tried to identify the Registry Settings involved but have had no luck there.  I also have not seen how to configure this as a default setting in the Office Installation Wizard that we used to create the .msi and .mst files

I am awarding high points but please do not tell me how to fix it on an indivvidual machine, I already know how to do that.  I need to know how to "push" that fix across my organization.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David LeeCommented:
Greetings, BradKopecky.

Assuming that you are talking about the "Show this folder as an e-mail address book" setting, then that setting isn't in the registry.  It's in the mail store, which is the PST file if using Outlook in Internet Only mode, or the information store on the Exchange server.  It cannot be set with a policy.  It can be set with a script, but each user will have to run that script.  You could place the script in a shared folder and then send the users a link to it.  If you're interested in that solution, then I can provide the script.

BradKopeckyAuthor Commented:
Thanks BlueDevil, I hope that means you are a Duke fan.

Can you send me the script and I will award the points on that one.
David LeeCommented:
Yes, it means I'm a Duke fan.  More like a Duke fanatic!  Redick for President!

Sure, I'll get the script posted shortly.
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

David LeeCommented:

Here's the code.  It's VBScript.  To use it, copy and paste the code into Notepad, edit it as needed, and save it with a .vbs extension.  You can then create a link to it and mail that link out.  All the staff will need to do is click on the link and the code will do the rest.

Dim olkApp, olkFolder
Set olkApp = CreateApplication("Outlook.Application")
'Uncomment the following line if the folder you want to appear as an address book is the default Contacts folder.
'Set olkFolder = olkApp.GetNamespace("MAPI").GetDefaultFolder(10)
'Uncomment the following line if the folder you want to appear as an address book is not the default Contacts folder.  Be sure to chage the mailbox and folder names.
'OpenMAPIFolder("\Mailbox - Doe, John\SomeFolderName")
olkFolder.ShowAsOutlookAB = True
Set olkFolder = Nothing
Set olkApp = Nothing

'Credit where credit is due.
'The code below is not mine.  I found it somewhere on the internet but do
'not remember where or who the author is.  The original author(s) deserves all
'the credit for these functions.
Function OpenMAPIFolder(szPath)
    Dim app, ns, flr, szDir, i
    Set flr = Nothing
    Set app = CreateObject("Outlook.Application")
    If Left(szPath, Len("\")) = "\" Then
        szPath = Mid(szPath, Len("\") + 1)
        Set flr = app.ActiveExplorer.CurrentFolder
    End If
    While szPath <> ""
        i = InStr(szPath, "\")
        If i Then
            szDir = Left(szPath, i - 1)
            szPath = Mid(szPath, i + Len("\"))
            szDir = szPath
            szPath = ""
        End If
        If IsNothing(flr) Then
            Set ns = app.GetNamespace("MAPI")
            Set flr = ns.Folders(szDir)
            Set flr = flr.Folders(szDir)
        End If
    Set OpenMAPIFolder = flr
End Function

Function IsNothing(obj)
  If TypeName(obj) = "Nothing" Then
    IsNothing = True
    IsNothing = False
  End If
End Function

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
BradKopeckyAuthor Commented:
Just to clarify.  Does the script do everything or do I still need to turn something on at the Exchange level.  And if at the Exchange level, what?
David LeeCommented:
The script does everything.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.