Outlook 2003 and Exchange Server 2003 goes into extended Support from 4/14/2009
What is the difference between Mainstream Support, Extended Support, and online self-help support?
Mainstream Support phase
Extended Support phase
Paid support (per-incident, per hour, and others)
Security update support
Non-security hotfix support
Requires extended hotfix agreement, purchased within 90 days of mainstream support ending.
No-charge incident support
Design changes and feature requests
Product-specific information that is available by using the online Microsoft Knowledge Base
Product-specific information that is available by using the Support site at Microsoft Help and Support to find answers to technical questions
IMP: Microsoft will NOT accept requests for warranty support, design changes, or new features during the Extended Support phase.
To understand Support Lifecycle policy we can refer to Microsoft Support Lifecycle Policy FAQ
To find the support timelines for other Microsoft products, visit the Select a Product for Lifecycle Information site (products listed by Product Family) or the Support Lifecycle Index site.
If you would like to remove all of the Personal Folders file .PSTs attached to the Outlook Mailbox profile then we can use RemoveStore Method.
Here is a sample VBScript to perform the job for us:
NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment.
'Sample script to remove Personal Folders files (.pst) from the current MAPI profile or session
Dim objOL 'As New Outlook.Application
Dim objFolders 'As Outlook.MAPIFolders
Dim objFolder 'As Outlook.MAPIFolder
Dim i 'As Interger
Dim strPrompt 'As String
Set objOL = CreateObject("Outlook.Application")
Set objFolders = objOL.Session.Folders
For i = objFolders.Count To 1 Step -1
On Error Resume Next
Set objFolder = objFolders.Item(i)
'Prompt the user for confirmation
If (InStr(1, objFolder.Name, "Mailbox") = 0) And (InStr(1, objFolder.Name, "Public Folders") = 0) Then
strPrompt = ""
strPrompt = "Are you sure you want to remove " & objFolder.Name
If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
We can also refer to the article mentioned below related to RemoveStore Method:
Hope this helps.
One of the common request from our customers is to provide interface to work programmatically with Delegate Settings for Outlook.
Microsoft Exchange Server 2007 Service Pack 1 (SP1) introduces delegate access and delegate access management through Exchange Web Services. The following delegate access functionality is available starting with Exchange 2007 SP1:
Here are the few links related to it:
And if you would like to do deep dive about how delegate access works with Outlook then explore it:
So, there is lot to explore in the Messaging World… Feel free to drop me your question related to Microsoft Messaging APIs
I have recently worked out a VBScript to list delegate of the Outlook Mailbox using CDO 1.2.1 via VBScript and thought of share it with you all, here is the sample code:
'TODO:Change Server and Mailbox info
strProfileInfo = strServer & vbLf & strMailbox
Set objSession = CreateObject("MAPI.Session")
objSession.Logon , , False, False, , True, strProfileInfo
writelog( " ==> ")
Msgbox "Logged On!!!"
' Reference the root folder by passing ID of ""
Set oRoot = objSession.GetFolder("")
'Connect to the Freebusy folder
Set oFBFolder = oRoot.Folders.Item("Freebusy Data")
Set objMessages = oFBFolder.Messages
For Each objMessage In objMessages
If objMessage.subject = "LocalFreebusy" Then
'Get the message fields
Set oFields = objMessage.Fields
On Error Resume Next
For i = 0 to UBound(oFields.Item(&H6844101E).Value(0))
Set oField1 = oFields.Item(&H6844101E) ' PR_SCHDINFO_DELEGATE_NAMES
writelog "DELEGATE NAMES ==> " & oField1.Value(0)(i)
Set oField2 = oFields.Item(&H686B1003) ' PR_DELEGATE_FLAGS
writelog "Delegate can see private ==> " & oField2.Value(0)(i)
Set objSession =Nothing
Set oField1 = Nothing
Set oField2 = Nothing
Set oFBFolder = Nothing
Set oRoot = Nothing
Sub WriteLog(ByVal strMessage)
Set fs = CreateObject("Scripting.FileSystemObject")
sScriptPath = Left(WScript.ScriptFullName, InstrRev(WScript.ScriptFullName, "\"))
Set file = fs.opentextfile(sScriptPath & "DelegateListLog.txt", 8, True)
Please refer to the following MAPI properties used in the above sample to list delegates of the mailbox:
If you interested in exploring further details regarding how delegate settings works in Outlook then refer to:
However, if you just targeting Exchange Server 2007, I would highly recommend you to use EWS(Exchange Web Services)
Delegate Access and Delegate Access Management with Exchange Web Services