Le Café Central de

                    ... Deva blogs!!

  • Le Café Central de DeVa

    Interactive Command reference guide: Outlook 2003 & Outlook 2007


    Wondering where the favorite Outlook 2003 commands are located in Outlook 2007? Or just want to explore the rich new design with a little guidance?

    You're in the right place. I found this well developed visual, interactive reference guide to help you quickly learn where things are.

    Click here to learn more

  • Le Café Central de DeVa

    What's special in Exchange Server 2007 SP1?


    This article is for all Exchange users. When we work with our customers, they eagerly want to know differences, new features, comparisons, what were its new and special features, product reviews or comprehension information about Exchange Server 2007,

    Please find the two useful article, which talks about 'end-to-end' richfull features related information:

    Review the features of Exchange Server 2007 including SP1

    Comprehensive information on Exchange Server 2007 with SP1

  • Le Café Central de DeVa

    Oops!! I'm late!!


    Oops!! I'm quite late to talk about this, but it's worthy one.

    Do you know about Anywhere access facility and other new features available with Exchange Server 2007?

    Exchange Server 2007 - Anywhere

    With Exchange Server 2007, employees get anywhere access* to their e-mail, voice mail, calendars, and contacts from a variety of clients and devices.

    Please find this article to know more?

  • Le Café Central de DeVa

    List of Ports used by Exchange Server


    Please find the list of Ports used by Exchange Server:

    Ports used by Exchange Server





    TCP: 25

    The SMTP service uses TCP port 25.


    TCP/UDP: 53

    DNS listens on port 53. Domain controllers use this port.


    TCP: 691

    The Microsoft Exchange Routing Engine service (RESvc) listens for routing link state information on this port.


    TCP/UPD: 389

    Lightweight directory access protocol (LDAP) used by Microsoft Active Directory® directory service, Active Directory Connector, and the Microsoft Exchange Server 5.5 directory use this port.


    TCP/UDP: 636

    LDAP over Secure Sockets Layer (SSL) uses this port.


    TCP/UDP: 379

    The Site Replication Service (SRS) uses this port.


    TCP/UDP: 390

    This is the recommended alternate port to configure the Exchange Server 5.5 LDAP protocol when Exchange Server 5.5 is running on an Active Directory domain controller.


    TCP: 3268

    Global catalog. The Windows 2000 and Windows Server 2003 Active Directory global catalog (a domain controller "role") listens on TCP port 3268.


    TCP: 3269

    Global catalog over SSL. Applications that connect to TCP port 3269 of a global catalog server can transmit and receive SSL encrypted data.


    TCP: 143

    Internet Message Access Protocol (IMAP) uses this port.


    TCP: 993

    IMAP4 over SSL uses this port.


    TCP: 110

    Post Office Protocol version 3 (POP3) uses this port.


    TCP: 995

    POP3 over SSL uses this port.


    TCP: 119

    Network News Transfer Protocol (NNTP) uses this port.


    TCP: 563

    NNTP over SSL uses this port.


    TCP: 80

    HTTP uses this port.


    TCP: 443

    HTTP over SSL uses this port.

  • Le Café Central de DeVa

    SMTP Commands Part # 3 - List of Server reply codes


    When we execute the SMTP command, we'll receive a reply from the mail server in the form of a three digit number followed by information describing the reply.

    For example,

    250 OK

    Please find the list of reply codes from the Server.


     A system status or help reply.


     Help Message.


     The server is ready.


     The server is ending the conversation.


     The requested action was completed.


     The specified user is not local, but the server will forward the mail message.


     This is a reply to the DATA command. After getting this, start sending the body of the mail message, ending with "\r\n.\r\n."


     The mail server will be shut down. Save the mail message and try again later.


     The mailbox that you are trying to reach is busy. Wait a little while and try again.


     The requested action was not done. Some error occurs in the mail server.


     The requested action was not done. The mail server ran out of system storage.


     The last command contained a syntax error or the command line was too long.


     The parameters or arguments in the last command contained a syntax error.


     The mail server has not implemented the last command.


     The last command was sent out of sequence. For example, you might have sent DATA before sending RECV.


     One of the parameters of the last command has not been implemented by the server.


     The mailbox that you are trying to reach can't be found or you don't have access rights.


     The specified user is not local; part of the text of the message will contain a forwarding address.


     The mailbox that you are trying to reach has run out of space. Store the message and try again tomorrow or in a few days-after the user gets a chance to delete some messages.


     The mail address that you specified was not syntactically correct.


     The mail transaction has failed for unknown causes.

  • Le Café Central de DeVa

    SMTP Commands Part # 2 - Using Telnet on port 25 to test SMTP communication


    Please find the following steps and SMTP commands to test SMTP communication using Telnet on Port 25.

    1.                   At a command prompt, type telnet, and then press ENTER. This command opens the Telnet session.

    2.                   Type set localecho and then press ENTER. This optional command lets you view the characters as you type them. This setting may be required for some SMTP servers.

    3.                   Type set logfile <filename>. This optional command enables logging of the Telnet session to the specified log file. If you only specify a file name, the location of the log file is the current working directory. If you specify a path and a file name, the path must be local to the computer. Both the path and the file name that you specify must be entered in the Microsoft DOS 8.3 format. The path that you specify must already exist. If you specify a log file that doesn't exist, it will be created for you.

    4.                   Type open mail1.fabrikam.com 25 and then press ENTER.

    5.                   Type EHLO contoso.com and then press ENTER.

    6.                   Type MAIL FROM:chris@contoso.com and then press ENTER.

    7.                   Type RCPT TO:kate@fabrikam.com NOTIFY=success,failure and then press ENTER. The optional NOTIFY command defines the particular delivery status notification (DSN) messages that the destination SMTP server must provide to the sender. DSN messages are defined in RFC 1891. In this case, you are requesting a DSN message for successful or failed message delivery.

    8.                   Type DATA and then press ENTER. You will receive a response that resembles the following

    354 Start mail input; end with <CLRF>.<CLRF>

    9.                   Type Subject: Test Sampleand then press ENTER.

    10.               Press ENTER. RFC 2822 requires a blank line between the Subject: header field and the message body.

    11.               Type This is a test message and then press ENTER.

    12.               Press ENTER, type a period ( . ) and then press ENTER. You will receive a response that resembles the following:

    250 2.6.0 <GUID> Queued mail for delivery

    13.               To disconnect from the destination SMTP server, type QUIT and then press ENTER. You will receive a response that resembles the following:

    221 2.0.0 Service closing transmission channel

    14.               To close the Telnet session, type quit and then press ENTER.

  • Le Café Central de DeVa

    SMTP Commands Part # 1- List of SMTP Commands


    Please find the list of SMTP commands and its definitions, which can be used on multiple places. For example it can be used to check event SMTP sinks by sending mails.

    SMTP commands

    SMTP command

    Command function


    Sent by a client to identify itself, usually with a domain name.


    Enables the server to identify its support for Extended Simple Mail Transfer Protocol (ESMTP) commands.


    Identifies the sender of the message; used in the form MAIL FROM:.


    Identifies the message recipients; used in the form RCPT TO:.


    Allows the client and server to switch roles and send mail in the reverse direction without having to establish a new connection.


    The ATRN (Authenticated TURN) command optionally takes one or more domains as a parameter. The ATRN command must be rejected if the session has not been authenticated.


    Provides a mechanism by which the SMTP server can indicate the maximum size message supported. Compliant servers must provide size extensions to indicate the maximum size message that can be accepted. Clients should not send messages that are larger than the size indicated by the server.


    An extension of SMTP. ETRN is sent by an SMTP server to request that another server send any e-mail messages that it has.


    Provides the ability to send a stream of commands without waiting for a response after each command.


    An ESMTP command that replaces the DATA command. So that the SMTP host does not have to continuously scan for the end of the data, this command sends a BDAT command with an argument that contains the total number of bytes in a message. The receiving server counts the bytes in the message and, when the message size equals the value sent by the BDAT command, the server assumes it has received all of the message data.


    Sent by a client to initiate the transfer of message content.


    An ESMTP command that enables delivery status notifications.


    Nullifies the entire message transaction and resets the buffer.


    Verifies that a mailbox is available for message delivery; for example, vrfy ted verifies that a mailbox for Ted resides on the local server. This command is off by default in Exchange implementations.


    Returns a list of commands that are supported by the SMTP service.


    Terminates the session.

    The following table lists the extended SMTP commands that Exchange makes available to the SMTP service.

    Extended SMTP commands

    Extended SMTP command

    Command function


    A method that is used by Microsoft Exchange Server 2003 and Exchange 2000 Server servers to authenticate.


    A method that is used by Exchange 2000 and Exchange 2003 servers to authenticate.


    Provides the ability to propagate message properties during server-to-server communication.


    Adds support for link state routing in Exchange.

  • Le Café Central de DeVa

    Offline Address Book - Birds eye-view


    What is an Offline Address Book?

    An offline address book is a container that stores a collection of offline address lists. Administrators configure available offline address books, and Outlook users can choose which offline address lists they want to download.

    What is an Offline address list?   

    An offline address list is a set of address lists in files that are created and stored on an offline address list server. Users who work offline can connect to an Exchange Server computer and download offline address lists to obtain information about other users in the organization. When you create an offline address book, the specified address lists are converted to a separate set of files and stored in a public folder. When users download the offline address book, this data file is used as the source of information. Outlook 2003 uses offline address book to provide offline access to directory information from global address list (GAL) and from other address lists.

    • Exchange generates new offline address book files & places them in a special public folder, known as a system folder, for Outlook to download.
    • Offline address book files are compressed before they are added to offline address book system folders so that the download to Outlook is minimal.
    • Outlook is scheduled to check periodically for new offline address book files in these system folders, and download the required files.
    • Offline address books typically contain at least one address list that represents the global address list (GAL).
    • Users who are working offline can use this global address list with Messaging Application Programming Interface (MAPI) e-mail clients.

    How it's getting created?

    • Several Exchange Server components work with Active Directory to generate and maintain offline address books.
    • After an offline address book has been created
      • either automatically by Exchange Setup
      • or manually by an administrator using Exchange System Manager
      • Exchange Server and Active Directory work together to maintain the offline address book, keeping it synchronized with changes that may be made in the directory.

    Where it will be displayed?

    • System folders can be displayed in Exchange System Manager, enabling an administrator to view the files that make up the offline address book

    What will be the size of Offline address book? 

    • Offline address book sizes can vary from a few megabytes to a few hundred megabytes. (It depends on various factors)

    Note: Address book size refers to the size of the compressed offline address book files on the Exchange Server, and not the uncompressed, expanded file size for the offline address book files on the Outlook client.

  • Le Café Central de DeVa

    Monitoring event sink # 17 - Sample for adding disclaimer for outoging SMTP messages - VBScript

       1:  <SCRIPT LANGUAGE="VBScript">
       2:  Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
       3:    TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer added in a VBScript."
       4:     HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer added in a VBScript."
       6:     If Msg.HTMLBody <> "" Then
       7:        'Search for the "</body>" tag and insert our disclaimer before that tag.
       8:         pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)
       9:         szPartI = Left(Msg.HTMLBody, pos - 1)
      10:         szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
      11:         Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
      12:     End If
      14:     If Msg.TextBody <> "" Then
      15:        Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
      16:     End If
      18:     'Commit the content changes to the transport ADO Stream object.
      19:     Msg.DataSource.Save ' Commit the changes into the transport Stream
      20:     EventStatus = cdoRunNextSink
      21:  End Sub
      22:  </SCRIPT>
  • Le Café Central de DeVa

    Monitoring event sink # 16 - Sample for adding disclaimers for outgoing SMTP messages - Visual Basic 6.0


    Visual Basic 6.0 sample

    Dim TextDisclaimer As String
    Dim HTMLDisclaimer As String

    Implements IEventIsCacheable
    Implements CDO.ISMTPOnArrival

    Private Sub IEventIsCacheable_IsCacheable()
        'Just returns S_OK.
    End Sub

    Private Sub Class_Initialize()
      'TODO: Replace the sample disclaimer text with your own text.
      TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer Text."

      HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer Text"
    End Sub

    Private Sub ISMTPOnArrival_OnArrival(ByVal Msg As CDO.IMessage, EventStatus As CDO.CdoEventStatus)
        If Msg.HTMLBody <> "" Then
            Dim szPartI As String
            Dim szPartII As String
            Dim pos As Integer
            'Search for the "</body>" tag and insert the disclaimer before that tag.
    pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)

            szPartI = Left(Msg.HTMLBody, pos - 1)
            szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
            Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
        End If

        If Msg.TextBody <> "" Then
            Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
        End If
        'Commit the content changes to the transport ADO Stream object.

        EventStatus = cdoRunNextSink
    End Sub

  • Le Café Central de DeVa

    Monitoring Event sink # 15 - Check event registration and its item properties


    Whenever if we work with event sink, we need to check the event registration, what're the associated items, its item properties and its importance (whether it is required or not)...

    Event Registration 

    To receive event notifications, you must register with Exchange by creating and saving event registration items.

    Event Registration items 

    An item becomes an event registration item when you set the content class of the item to urn:content-class:storeeventreg.

    Note: For more information, we can get more details from the Content Classes article.

    The following table defines the event properties for an event registration item http://schemas.microsoft.com/exchange/events/ namespace:




    Criteria Field No A Structured Query Language (SQL) Where clause that specifies the conditions that will cause the event to fire.
    Enabled Field No A Boolean value that indicates if an event registration is enabled.
    EventMethod Field Yes Defines which event or events cause notification.
    MatchScope Field No Defines where the event will fire relative to where it is saved.
    Priority Field No The priority of the event. See Event Notification Priority.
    ScriptUrl Field* Yes The name of the script if the event is a script being run by The Script Host Sink.
    SinkClass Field Yes The class identifier (CLSID) or progID of the object that contains the event sink.
    TimerExpiryTime Field** No The time to end an OnTimer event.
    TimerInterval Field** Yes The interval, in minutes, between OnTimer event notifications.
    TimerStartTime Field** Yes The time at which Microsoft® Exchange begins notifying event sinks of the OnTimer event.

    * This field is required only if you use a script to handle the event.
    ** This field is used only for the OnTimer event.

  • Le Café Central de DeVa

    Microsoft Entourage for mac


    Microsoft Entourage:mac


    Microsoft Office 2004 for Mac 114 update released Tuesday, February 12, 2008. There is no update for Office 2008 at this time. Still a bit early.


    Today i found Amir's couple of blog posts which has information on Office 2008.

    How Entourage works

    How Does Entourage Work?

    • The article explains how Entourage works with a mailbox on an Exchange Server.
    • This blog article will encompass the supported versions of Entourage & Exchange Server, Entourage 2004 & 2008, and Exchange 2000, 2003 & 2007.
    • Let's list all the different features in Entourage for which it needs to talk to Exchange Server or any other server in a Windows Active Directory based environment.

    Microsoft's Mac Entourage

    Entourage 2008 - New features

    Entourage 2008 – New Features Part I

    Part I describes features for all users.

    Entourage 2008 – New Features Part II

    In Part II, Amir describes features which are exclusive to Entourage 2008 users in an Exchange organization where they are working with other Outlook users.

  • Le Café Central de DeVa

    Monitoring Event Sink # 14 - Advanced Queuing Engine and SMTP sinks


    Advanced Queuing Engine - SMTP Architecture

    The advanced queuing engine is a key component in Exchange 2003 message handling, because all messages must pass through this engine, even when sender and recipient are located on the same server running Exchange Server 2003. This enables Exchange Server 2003 transport components to process every message. No e-mail message can bypass the transport subsystem.

     Advanced Queuing Engine - Events

    Please find this article, which illustrates, the advanced queuing engine "how it" acts as an information controller or dispatcher of system, store, and transport events to process each message after it reaches the SMTP transport subsystem.

    The above engine dispatches the following events:

    1. OnSubmission
    2. OnPreCategorize
    3. OnCategorize
    4. OnPostCategorize
    5. OnGetMessageRouter
    6. OnMsgTrackLog
    7. OnDnsResolveRecord
    8. OnMaxMsgSize
    9. Storedriver
  • Le Café Central de DeVa

    Monitoring event sink # 13 - Best practices for Event sink registration


    Event sink registration - Best practices

    It's must to know when we try to register the event sink in Excahge environment.

    The following guidelines are helpful when you create event registration items:

    • The scope of an event sink is restricted to a single store.
    • Event registration items are automatically hidden when saved.
    • To be instantiated by Exchange, event sinks in a dynamic-link library (DLL) must have a surrogate host defined.
    • Wrapping the DLL in a COM+ Application assigns the surrogate host automatically.
  • Le Café Central de DeVa

    Monitoring Event Sink # 12 - Event Sinks firing order

    "Which order the event sinks are getting fired" ?
    This is a common question asked by customers, whenever we work event sink related cases. 
    • Take this small example example, when registering for synchronous event notifications, you can set a priority.
    • It specifies when the notification will occur relative to the other event registrations waiting on the same event.  
    Registration Priority: Here we need to understand this registration priority

    The registration priority can have any value within the ranges shown in the following table:

    Priority Decimal value Hexadecimal value
    Highest (first to be notified) 0 0
    Default 65535 0x0000ffff
    Lowest (last to be notified) 2147483647 0x7fffffff


    • Use the decimal value to register the priority.
    • Event registrations with the same priority can fire in any order.
    • Priorities do not apply to asynchronous event registrations.
  • Le Café Central de DeVa

    Part # 4 - Configure Public folder permissions


    Configure Public folder permissions

    Please find the lists of management tasks that you can perform to configure and maintain public folder permissions:

    • How to Add Permissions for Client Users to Access Public Folder Content
      You can use the Add-PublicFolderClientPermission cmdlet or the AddUsersToPFRecursive.ps1 user management script to specify the permissions for the client user. You can create the access rights by using either the predefined permission roles or by creating custom access rights.
    • How to Remove or Replace Public Folder Client Permissions
      You can use the Remove-PublicFolderClientPermission cmdlet or the RemoveUserFromPFRecursive.ps1 script to remove permissions for the client user. You can remove access rights by using either the predefined permission roles or by using the access rights.
      You can use the ReplaceUserWithUserOnPFRecursive.ps1 and ReplaceUserPermissionOnPFRecursive.ps1 scripts to replace client permissions on a public folder.

    • How to View Public Folder Client Permissions Settings
      You can use the Get-PublicFolderClientPermission cmdlet to view the client access rights associated with a public folder.
    • How to Grant the Send As Permission for a Mail-Enabled Public Folder
      You can use Send As permissions to configure a mail-enabled public folder so that users other than the public folder owner can use the mail-enabled public folder to send messages.
      The Send As permission is not granted until after replication has occurred. Replication times depend on your Microsoft Exchange and network configuration.
    • How to Add Administrative Permissions for Users to Access Public Folders
      You can use the Add-PublicFolderAdministratorPermission cmdlet, the Add-ExchangeAdministrator cmdlet, or the Add Exchange Administrator wizard to grant administrative rights for a user to access a public folder or public folder hierarchy.
    • How to Remove Public Folder Administrative Permissions
      You can use the Remove-PublicFolderAdministratorPermission cmdlet, the Remove-ExchangeAdministrator cmdlet, or the Add Exchange Administrator wizard to remove administrative access rights from a user for a public folder or public folder hierarchy.
    • How to View Public Folder Administrative Permission Settings
      You can use the Get-PublicFolderAdministratorPermission cmdlet, the Get-ExchangeAdministrator cmdlet, or the Organization Configuration node to view the administrative rights that are associated with a public folder or public folder hierarchy.
  • Le Café Central de DeVa

    Part # 3 - Managing mail-enabled Public Folders


    Managing mail-enabled Public Folders 

    Please find the following topics provide instructions for the management tasks that you can perform for mail-enabled public folders.

  • Le Café Central de DeVa

    Part # 2 - Managing Public Folders

  • Le Café Central de DeVa

    Monitoring Event Sink # 11 - Registering for Store-Wide Events

    Registering for Store-Wide Events

    Global events can only be registered in the following folders:

    For private mailbox stores:


    For public folders:

    file://./backofficestorage/ADMIN/%userdnsdomain%/Public Folders/Non_ipm_subtree/StoreEvents{GUID}/GlobalEvents

    Access Global Schema: 

    To access the global schema of an application or a public store, use The ##SCHEMAURI## Macro.

    Need to check: 

    • Global events can be registered only by an Administrator, a member of Domain Administrators group, or users in the Exchange Administrators role.
    • It is not enough to be a member of the Administrators group or the Exchange Server group.
    • To make a user an Exchange Administrator, use the Exchange Administration Delegation Wizard in the Exchange Management console.

    Source Code:

    The following code demonstrates how to register for a private store-wide event:

    dim igetSG
    dim regURL
    dim WshShell
    dim Return

    set igetSG=CreateObject("Exoledb.StoreGuidFromUrl.1")
    'Get the GUID for the registration process
    guid = igetSG.StoreGuidFromUrl("file://./backofficestorage/" + Anystoreitem)
    'Anystoreitem is just that. Any store item in the store will get you the store url. It might be something like: "theserver.example.com/MBX/user1/inbox"

    'Build the registration URL (using "theserver.example.com")
    regURL = "file://./backofficestorage/ADMIN/theserver.example.com/MBX/SystemMailbox" & guid & "/StoreEvents/GlobalEvents/my_event"

    set WshShell=WScript.CreateObject("WScript.Shell")
    Return = WshShell.Run ("cscript c:\regevent.vbs add onsyncsave mysink.sink " & regURL & " -m ANY", 4 , TRUE)

    WScript.Echo Return

    •   Server-wide events are not supported.
    •  Global events must be synchronous.
    • It is not possible register an asynchronous event globally.
  • Le Café Central de DeVa

    Monitoring Event Sink # 10 - How to Register Store Event Sink


    Registering Store Event Sink - Three Sample attached

    Example 1: The above command example is to register a specific mailbox. To register event sinks to a specific store with the regevent.vbs script, here is an example:

    cscript regevent.vbs add OnSyncSave test.sink "file://./backofficestorage/contoso.com/MBX/SystemMailbox{9ADEA9EA-3924-401F-9C70-0 3B6B7378C9D}/StoreEvents/GlobalEvents/testsink" -m deep

    In the above command, the event sink is actually registered to the system mailbox named SystemMailbox{GUID} in the mailbox store.

    To determine the GUID:

    1. In the Exchange System Manager, find the mailbox store that you want to register the event sink to.
    2. Select the "Mailboxes" node under the mailbox store to see the list of its' mailboxes. You will see a mailbox called "SystemMailbox{GUID}." The GUID is the GUID you want.

    Example 2 :The following example uses the RegEvent script to register an OnSyncSave event to a mailbox:

    cscript regevent.vbs add OnSyncSave ExOleDB.ScriptEventSink.1 "file://./backofficestorage/contoso.com/user1/inbox/eventsink1" -m deep -file "c:\script1.vbs"

    Example 3: The following example uses the regevent script to register an OnSave and OnDelete event to the public folder named folder1 under the Public Folders tree:

    cscript regevent.vbs add "OnSave;OnDelete" ExOleDB.ScriptEventSink.1 "file://./backofficestorage/contoso.com/Public Folders/folder1/testsink" -m deep -file "c:\vbscript1.vbs"
  • Le Café Central de DeVa

    Monitoring Event Sink # 9 - How to delete store event sinks


    How to delete store event sinks

    If you want to delete the event sink you registered in a particular mailbox, you can perform the following steps:

    1. Start the command prompt, and change to the directory where the regevent.vbs is located.

    2. Type the command to run regevent.vbs. The following code is one example of the command:

    cscript regevent.vbs delete "file://./backofficestorage/contoso.com/MBX/smith/inbox/testsink"

  • Le Café Central de DeVa

    Monitoring Event Sink # 8 - Register a store event sink using Regevent.vbs on Exchange


    Step-by-step guide on how to register store event sinks

    Per KB, Before you use regevent.vbs to register the event sink VB script, you need to register a new COM+ application on the Exchange server to properly execute script-based store events. Please follow the steps below:

    1. To start the Component Services console, click Start, select Programs, Administrative Tools, and Component Services.
    2. In the Component Services snap-in, expand the list in the following order: Component Services, Computers, and My Computer.
    3. Right-click COM+ Applications in the left pane, and select New and Application.
    4. Click Next and then choose the "Create An Empty Application" button.
    5. Enter ScriptEventSink as the name for the new application.
    6. Confirm that the Server Application radio button is selected and click Next.
    7. Click Next and click Finish.
    8. Select a user that will have owner permissions for the application you are creating, or choose the current user by selecting "Interactive User - The Current Logged On User" radio button.

    Note If you choose Interactive User, make sure the account that you are currently logged on with has one of the following permissions:
    Explicit "Full mailbox access" right on the mailbox you plan to publish the sink to
    Explicit Allow for the "Receive As" right on the mailbox store
    9. Open the newly created COM+ Application you just created, right-click on the Components subfolder, and choose New and, then, select Component.
    10. Click Next, then choose Install New Component(s).
    11. Browse the file system and select \Exchsrvr\Bin\exodbesh.dll. Click Next and Finish.
    After registering the new COM+ application, you need to write the event sink VB script file. Here is a sample event sink that does nothing but log its' existence:
    Option Explicit
    Public Sub ExStoreEvents_OnSave(pEventInfo, bstrURLItem, lFlags)
      LogFile "ExStoreEvents_OnSave"
    End Sub
    public Sub ExStoreEvents_OnDelete(pEventInfo, bstrURLItem, lFlags)
       LogFile "ExStoreEvents_OnDelete"
    End Sub
    Public Sub ExStoreEvents_OnSyncSave(pEventInfo, bstrURLItem, lFlags)
      LogFile "ExStoreEvents_OnSyncSave"
    End Sub
    Public Sub ExStoreEvents_OnSyncDelete(pEventInfo, bstrURLItem, lFlags)
       LogFile "ExStoreEvents_OnSyncDelete"
    End Sub
    public Sub LogFile(MyString)
       Dim fso
       Dim txtfile
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set txtfile = fso.OpenTextFile("c:\LogFile.log", 8, True)
       txtfile.WriteLine (MyString)
    End Sub
    We assume that the sink is now saved in the testscript.vbs., you can now register this event sink VB script using the following steps:
    1. Click Start, select Run, and type "cmd" (without the quotation marks) to enter the command prompt.
    2. Change the directory to \Exchsrvr\Bin and type the following 2 commands:

    regsvr32 exodbesh.dll
    regsvr32 exodbprx.dll
    3. Copy the regevent.vbs (located in the \Program Files\Exchange SDK\SDK\Support\OLEDB\Scripts directory.) and the event sink VB script files onto the root of the C drive.

    Start the command prompt, and change to the directory of C:\. Type the command to run the regevent.vbs. The following command is one example:

    cscript regevent.vbs add "onsave;ondelete" ExOleDB.ScriptEventSink.1 "file://./backofficestorage/contoso.com/MBX/smith/inbox/testsink" -m deep -file "c:\testscript.vbs"


    • This command is used to register the event sink VB script named testscript.vbs in the Inbox of the mailbox named smith.
    • In the command above, you replace contoso.com with the default domain name referenced on the "Local path" field in the Virtual Directory tab of the Exchange virtual directory properties in the Internet Information Services snap-in.
  • Le Café Central de DeVa

    Monitoring Event sink # 7 - Register an Exchange Store Event Script File Using WebDAV in Visual Basic 6.0


    I found this wonderful link, which discuss about how we can register an Exchange Store Event Sink using WebDAV in Visual Basic 6.0

    Please find the WebDavRegEvent sample shows how to register a Store Event Sink using Web Distributed Authoring and Versioning (WebDAV) in Microsoft Visual Basic 6.0.

    • The code uses XML technology to compose and send the WebDAV request to the Exchange Server.
    • The sample does not contain an executable and will require Microsoft Visual Basic 6.0 and Microsoft XML 2.0 or later on the computer in order to view and build the project.
    • The sample shows how to register a simple event sink.
    • It does not explore all areas of creating a registration item for an Exchange event sink.
  • Le Café Central de DeVa

    Status Code (422) unprocessable Entity using WebDAV/EXOLEDB Error


    I came across a tricky situation.

    One of the customer got the (422) Unprocessable Entity using WebDAV Error, when he tries to access Exchange Server 2007 for the query "SELECT “DAV:displayname” FROM “Inbox”  WHERE CONTAINS(*, '"Mike"')"...he is referring that "Use an asterisk (*) to include all properties marked for full-text indexing".

    The request for working fine for Exchange Server 2003, but its not working on Exchange Server 2007. Found full-text indexing is enabled.

    Requests without CONTAINS predicate work fine on Exchange 2007. He wondered what is wrong with the request?

    The issue was quite confuseing...during research i found the update from Glen from one of our MSDN forum...(View the thread)

    "...the Search service was rewritten in 2007 to use MSSearch v3  as WebDAV and Exoledb have been demphasised on 2007 I have a feeling that they these API's where not ported for the new search service. Either that or its a bug i can't make simple searches using WebDAV or Exoledb work."


    Status Code 422 (Unprocessable Entity) - Non-zero depth was specified for a check-out lock, or the Depth Header was omitted

  • Le Café Central de DeVa

    Exchange Hosting Services - Exchange Hosted Archive


    Microsoft Exchange Hosting Services - Exchange Hosted Archive

    Recent News: Microsoft recently acquired Frontbridge. Currently it was announced that Microsoft Exchange Hosted Services will now take the front line for hosted services including compliancy, data rentention, encryption, confidentiality etc.

    What is it for: Exchange Hosted Archive is an advanced message archiving system for e-mail and instant messages.

     Microsoft Exchange Hosting Services

    For more information: The hosted archive should be particularly interesting because of its powerful capabilities. Click here to read more information

Page 25 of 28 (699 items) «2324252627»