cancel
Showing results for 
Search instead for 
Did you mean: 

Disabling PST Creation - Office 2K - 2003 - 2007

Philip_Major
Level 4
Has anyone got a nice route for disabling PST Creation at all levels of Office across an organisation.

We run LANDesk here and I'm contemplating that route and the use of all three \ four (if you include the hideousness that is Office XP) regsitry key mods that I've made for disabling PST Creation however it could be messy and time consuming also group policy is another route but I'm not sure whether Data File Management Removal or Restriction can be applied to all varients of Office.

Is there an extra setting in the Desktop section of the Default Exchange Mailbox Policy which could disable PST creation upon enabling also retain the current PST in place, I have tested against the reg keys I have created and the PST will still function which is fine for now until they are all sucked into the vault, something which would be a delicate and sensitive procedure which has been implemented yet.
10 REPLIES 10

MarkOlsen
Level 4
Phil:
 
We use the GPO approach which essentially greys out functionality in Outlook so that File --> New / Open Data File are not available.   This seems to work quite well.   We have also taken away PST's from end users and actually deleted them from each C drive.
 
The only issue that we hit is that there are some third party add-ins to Outlook that also use PST extension names, but the GPO doesn't seem to negatively impact those.  There was also a concern that IMAP might be broken but this wasn't the case either.
 
I'm also told that in Exchange 2007 there may be functionality to disable PST's as well, so you might want to check into that.
 
Hope this helps ... Mark

Philip_Major
Level 4
Cheers Mark,

GPO was prob going to be the approach but we have to confirm one last app won't be affected by this approach due to it's way of creating PST's on the fly as well as the implications of sucking peoples personal mails into the vault without giving them the chance to delete! woe is me!.

Thanks for the advice

PATRICK_Kitchen
Level 6
Something we are just planning using GPO if you need to know the contrid id' let me know and I will tell you also there is a useful utility that will tell you them as well.

Philip_Major
Level 4
That sound's great if you could post them here lovely cheers.

I've been working on a vb \ reg push via LanDesk just to amuse myself more than anything but eventually once people delete all their un-needed emails we'll push for GPO implementation then suck em all into the vault over a course of a week hmmm 3500 pst's 5gb an hour...

Looks like I'll have to do the maths on this one.

Has anyone got any screendumps of the PST Migrator in use \ steps as i'd like to see if I can point it just to one person but the gui scares me! lol

Oh here's the reg keys if anyone else is trawling...

Office 2000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Outlook\]
"DisablePST"=dword:00000001

Office XP - DON'T EVER USE THIS PRODUCT WITH EV

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Outlook\]
"DisablePST"=dword:00000001

Office 2003

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Outlook\]
"DisablePST"=dword:00000001

Office 2007

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Outlook\]
"DisablePST"=dword:00000001

Changing the dword to
00000000 will remove the disablement


Message Edited by Philip Major on 10-15-2007 05:34 AM

PATRICK_Kitchen
Level 6
1. Open the Group Policy console.
2. Add the Microsoft Office Outlook 2003 administrative template (Outlk11.adm) from the Office 2003 resource kit.
3. Under the administrative template, click Disable items in user interface, click Custom, and then click Disable command bar buttons and menu items.
4. Click to select the Enabled check box.
5. Click Show. 6. Add the following numbers to the following entries: • Disable option to create a PST(File -- New -- Outlook Data File): 5575 •

Disable option to open a PST(File -- Open -- Outlook Data File: 5576

Disable Data File Management - 7091

Disable File Archive  1886

7. Click OK. 8. Apply the policy.To enable this hotfix on a per-user basis, follow these steps:
 
1. Exit Outlook 2003.
2. Click Start, click Run, type regedit in the Open box, and then click OK.
3. Locate and then click to select the following registry subkey:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook
4. After you select the subkey that is specified in step 3, point to New on the Edit menu, and then click DWORD Value. 5. Type DisablePST, and then press ENTER.
6. Right-click DisablePST, and then click Modify.
7. In the Value data box, type 1, and then click OK.
8. If you use profiles, continue to step 9. If you do not use profiles, continue to step 14.
9. Locate and then click to select the following registry subkey:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook
10. After you select the subkey that is specified in step 3, point to New on the Edit menu, and then click DWORD Value.
11. Type DisablePST, and then press ENTER.
12. Right-click DisablePST, and then click Modify.
13. In the Value data box, type 1, and then click OK.
14. On the File menu, click Exit to exit Registry Editor.

PATRICK_Kitchen
Level 6
Here is a VB script which will do it for you:-
 

Sub EnumCommandBars()

    Dim objOL As Outlook.Application

    Dim objNS As Outlook.NameSpace

    Dim objDrafts As Outlook.MAPIFolder

    Dim objPost As Outlook.PostItem

    Dim colCB As Office.CommandBars

    Dim objCB As Office.CommandBar

    Dim strWindow As String

    Dim strExplBars As String

    Dim strInspBars As String

    Dim strText As String

    Dim arrBars() As String

    Dim i As Integer

    On Error Resume Next

    Set objOL = Application

    Set objNS = objOL.Session

    Set objDrafts = objNS.GetDefaultFolder(olFolderDrafts)

    strExplBars = "Menu Bar,Standard,Advanced,Web"

    strInspBars = "Menu Bar,Standard,Form Design,Formatting"

    strWindow = TypeName(objOL.ActiveWindow)

    Select Case strWindow

        Case "Explorer"

            Set colCB = objOL.ActiveExplorer.CommandBars

            arrBars = Split(strExplBars, ",")

        Case "Inspector"

            Set colCB = objOL.ActiveInspector.CommandBars

            arrBars = Split(strInspBars, ",")

    End Select

    If Not colCB Is Nothing Then

        Set objPost = objDrafts.Items.Add("IPM.Post")

        objPost.Subject = "CommandBars for " & strWindow & _

                          ": " & colCB.Parent.Caption

        objPost.BodyFormat = olFormatPlain

        For i = 0 To UBound(arrBars)

            Set objCB = colCB.item(arrBars(i))

            Call EnumOneBar(objCB, strText)

            strText = strText & vbCrLf & "===========" & vbCrLf

        Next

        objPost.Body = Mid(strText, 5)

        objPost.Save

        objPost.Display

    End If

    Set objOL = Nothing

    Set objNS = Nothing

    Set objDrafts = Nothing

    Set objPost = Nothing

    Set colCB = Nothing

    Set objCB = Nothing

End Sub

 

Sub EnumOneBar(cb As Office.CommandBar, ByRef postText)

    Dim objControl As Office.CommandBarControl

    Dim objPopupControl As Office.CommandBarPopup

    postText = postText & vbCrLf & vbCrLf & "CommandBar: " & cb.Name

    For Each objControl In cb.Controls

        If objControl.BuiltIn = True Then

            Select Case objControl.Type

                Case msoControlPopup, _

                     msoControlButtonPopup, _

                     msoControlGraphicPopup, _

                     msoControlSplitButtonPopup

                    postText = postText & vbCrLf & vbCrLf & _

                      objControl.Caption & _

                      " (Submenu) - " & objControl.ID

                    Set objPopupControl = objControl

                    Call EnumOneBar( _

                      objPopupControl.CommandBar, postText)

                 Case Else

                    postText = postText & vbCrLf & vbTab & _

                      objControl.Caption & " - " & objControl.ID

            End Select

        End If

    Next

    Set objControl = Nothing

    Set objPopupControl = Nothing

End Sub

PATRICK_Kitchen
Level 6
There is a utility that you can use (30day free download) called OutlookSpy
 
Using Outlook Spy to look at CommandBar IDs is very simple:

1) On the Outlook Spy toolbar, click Explorer or Inspector, depending on what type of window you're looking at.

2) On the dialog that appears, switch to the CommandBars tab.

3) Expand the Menu Bar or the toolbar you're interested in.

4) Select the command you're interested in.

The ID will appear in the Selected Object pane on the right side of the dialog

PATRICK_Kitchen
Level 6
You may also want top look at disabling wallpaper in emails since each backdrop is sent as attachment but I have not figured out how to do this yet.

Philip_Major
Level 4
Hi Patrick,

Thanks for the posts, can this GP be applied to all varients of Outlook i.e. 2000 - 2003 - 2007.

Here's the VB we worked on for for disabling PST at all levels via registry and push methods.

Option Explicit
Dim strKeyPath
Dim strKeyPath1
Dim strComputer
Dim objReg
Dim objReg1
Dim subKey
Dim subKey1
Dim arrSubKeys
Dim strSubKeys
Dim ParentKey
Dim arrSubkeys1
Dim ShellObj
Const HKLM = &H80000002
strKeyPath = "SOFTWARE\Microsoft\Office"
strComputer = "."
Set objReg=GetObject("winmgmts:\\" &strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKLM, strKeyPath, arrSubKeys
 

For Each subKey In arrSubKeys
      If IsNumeric(SubKey) then
              strKeyPath1 = "SOFTWARE\Microsoft\Office\" & SubKey
                 set objReg1=GetObject("winmgmts:\\" &strComputer & "\root\default:StdRegProv")
                 objReg1.EnumKey HKLM, strKeyPath1, arrSubKeys1
                 Wscript.Echo strKeyPath1
                         For Each subKey1 In arrSubKeys1
                                If subKey1 = "Outlook" then
                                         Set ShellObj = CreateObject("WScript.Shell")
                                        ShellObj.RegWrite "HKLM\SOFTWARE\Microsoft\Office\" & subKey & "\Outlook\DisablePST", 1, "REG_DWORD"
                                        ' Wscript.Echo "PST Disabled"
                                        Set ShellObj = nothing
                                End if
                         Next
       End if
Next
 
Wscript.Echo "PST Use now Disabled"
set objReg1 = nothing
set objReg =  nothing

PATRICK_Kitchen
Level 6
Certainly it works with 2003 and 2007 - not tried it with any earlier releases