Le Café Central de
Deva             


                    ... Deva blogs!!



  • Le Café Central de DeVa

    Adding delegates in Exchange Web Services (Exchange Server 2007 SP1)

    • 1 Comments

    Delegates & Exchange Web Services 

    In Microsoft Exchange Server 2007 SP1, you can use Exchange Web Services to add, update, and remove delegates.

    Code sample

    Please find the code example that shows you how to add delegates that can take actions on behalf of a principal. In this code it shows how to add two delegate users to an account.

    static void AddDelegate()
    {
        // Set the version, credentials, and Client Access server on ExchangeServiceBinding.
        ExchangeServiceBinding esb = new ExchangeServiceBinding();
        esb.RequestServerVersionValue = new RequestServerVersion();
        esb.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
        esb.Credentials = new NetworkCredential("username", "password", "domain");
        esb.Url = "https://example.com/ews/exchange.asmx";

        // Create the request.
        AddDelegateType request = new AddDelegateType();

        // Identify the principal's mailbox.
        request.Mailbox = new EmailAddressType();
        request.Mailbox.EmailAddress = "user1@example.com";

        // Identify the delegates who are given access to the principal's mailbox.
        request.DelegateUsers = new DelegateUserType[2];
        request.DelegateUsers[0] = new DelegateUserType();
        request.DelegateUsers[0].UserId = new UserIdType();
        request.DelegateUsers[0].UserId.PrimarySmtpAddress = "user2@example.com";
        request.DelegateUsers[1] = new DelegateUserType();
        request.DelegateUsers[1].UserId = new UserIdType();
        request.DelegateUsers[1].UserId.PrimarySmtpAddress = "user3@example.com";
       
        // Specify the permissions that are granted to each delegate.
        request.DelegateUsers[0].DelegatePermissions = new DelegatePermissionsType();
        request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevelType.Reviewer;
        request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevelSpecified = true;
        request.DelegateUsers[1].DelegatePermissions = new DelegatePermissionsType();
        request.DelegateUsers[1].DelegatePermissions.TasksFolderPermissionLevel = DelegateFolderPermissionLevelType.Author;
        request.DelegateUsers[1].DelegatePermissions.TasksFolderPermissionLevelSpecified = true;
        request.DelegateUsers[1].DelegatePermissions.InboxFolderPermissionLevel = DelegateFolderPermissionLevelType.Editor;
        request.DelegateUsers[1].DelegatePermissions.InboxFolderPermissionLevelSpecified = true;

        // Specify whether the principal recieves meeting requests.
        request.DeliverMeetingRequests = DeliverMeetingRequestsType.DelegatesAndSendInformationToMe;
        request.DeliverMeetingRequestsSpecified = true;

        try
        {
            // Send the request and get the response.
            AddDelegateResponseMessageType response = esb.AddDelegate(request);
            DelegateUserResponseMessageType[] responseMessages = response.ResponseMessages;

            // One DelegateUserResponseMessageType exists for each attempt to add a delegate user to an account.
            foreach (DelegateUserResponseMessageType user in responseMessages)
            {
                Console.WriteLine("Results of adding user: " + user.ResponseClass.ToString());
                Console.WriteLine(user.DelegateUser.UserId.DisplayName);
                Console.WriteLine(user.DelegateUser.UserId.PrimarySmtpAddress);
                Console.WriteLine(user.DelegateUser.UserId.SID);
                if (user.DelegateUser.ReceiveCopiesOfMeetingMessagesSpecified)
                {
                    Console.WriteLine("Does the delegate receive copies of meeting related messages: " + user.DelegateUser.ReceiveCopiesOfMeetingMessages);
                }
                if (user.DelegateUser.ViewPrivateItemsSpecified)
                {
                    Console.WriteLine("Can the delegate view private items in the principal's mailbox: " + user.DelegateUser.ViewPrivateItems);
                }
            }
            Console.ReadLine();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            Console.ReadLine();
        }
    }

    For more information refer this article

  • Le Café Central de DeVa

    Create/Set Folder Level Permissions with Exchange Web Services (Exchange Server 2007 SP1)

    • 1 Comments

    Folder-level permissions work with other Exchange Web Services (Exchange Server 2007 SP1) 

    Folder-level permissions work with other Exchange Web Services operations in the following ways:

    • The GetFolder operation will return the permissions that are set on the folder when the AllProperties shape is specified.
    • The SyncFolderHierarchy operation synchronizes PermissionSets.
    • The UpdateFolder operation will fail if multiple Permission entries are provided for the same user. The UpdateFolder response will return the ErrorDuplicateUserIdsSpecified response code.
    • The AppendToFolderField option of the UpdateFolder operation will append a permission entry for a user if the user does not already have a permission entry in the access control list (ACL) of the folder. If the user that is specified already has a permission entry, an ErrorUserAlreadyExists response code will be returned.
    • The SetFolderField option of the UpdateFolder operation will overwrite all the permission settings on the folder. The client cannot change the permissions for each user.
    • The DeleteFolderField option of the UpdateFolder operation will delete all the permission settings on the folder. 

    Sample Code:

    The following code example shows you how to set folder-level permissions when a folder is created. The authenticated user grants user3 the Editor permission level on a new folder named NewFolderWithPermissionsSet that is created in the Inbox default folder. 

    static void CreateFolderLevelPermissions()
    {
        // Set the version, credentials, and the Client Access server on ExchangeServiceBinding.
        ExchangeServiceBinding esb = new ExchangeServiceBinding();
        esb.RequestServerVersionValue = new RequestServerVersion();
        esb.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
        esb.Credentials = new NetworkCredential("username", "password", "domain");
        esb.Url = "https://CAS.example.com/ews/exchange.asmx";

        // Create user identifier.
        UserIdType user = new UserIdType();
        user.PrimarySmtpAddress = "user3@example.com.com";

        // Set the folder permission level to Editor.
        PermissionSetType permissionSet = new PermissionSetType();
        permissionSet.Permissions = new PermissionType[] { new PermissionType() };
        //permissionSet.Permissions[0] = new PermissionType();
        permissionSet.Permissions[0].PermissionLevel = PermissionLevelType.Editor;
        permissionSet.Permissions[0].UserId = user;

        FolderType folder = new FolderType();
        folder.DisplayName = "NewFolderWithPermissionsSet";
        folder.PermissionSet = permissionSet;

        // Specify the target folder.
        DistinguishedFolderIdType inbox = new DistinguishedFolderIdType();
        inbox.Id = DistinguishedFolderIdNameType.inbox;
        TargetFolderIdType targetFolder = new TargetFolderIdType();
        targetFolder.Item = inbox;

        CreateFolderType request = new CreateFolderType();
        request.Folders = new FolderType[] { folder };
        request.ParentFolderId = targetFolder;

        try
        {
            // Send the request and get the response.
            CreateFolderResponseType response = esb.CreateFolder(request);

            // Get the response messages.
            ResponseMessageType[] rmta = response.ResponseMessages.Items;

            // Cast to appropriate response message type.
            if (((FolderInfoResponseMessageType)rmta[0]).ResponseClass == ResponseClassType.Success)
            {
                // Continue.
            }
           
        }

        catch
        {
            // Handle errors.
        }
    }

    For more information refer this article

  • Le Café Central de DeVa

    MAPI Architecture

    • 4 Comments

    MAPI Architecture 

    MAPI is a messaging architecture that enables multiple applications to interact with multiple messaging systems seamlessly across a variety of hardware platforms.

    MAPI Objects and General Architecture

    All of the objects defined by MAPI fall into one or more layers in the MAPI architecture.

    • The client interface layer is made up of all the objects that a client application, form viewer, or form server can implement.
    • The service provider interface layer contains the objects that a service provider of any type can implement.
    • This layer includes objects implemented by address book, message store, transport, form library, and messaging hook providers.
    • The layer that represents the MAPI subsystem is positioned between the client and service provider interface layers.
    • The MAPI layer contains all of the objects that MAPI implements for clients or service providers to use 

    The following article shows where each of the MAPI objects fits into the MAPI architecture. The objects are represented with the names of their derived interfaces.

    In general,

    • MAPI is made up of a set of common application programming interfaces and a dynamic-link library (DLL) component.
    • The interfaces are used to create and access diverse messaging applications and messaging systems, offering a uniform environment for development and use and providing true independence for both.  
    • The DLL contains the MAPI subsystem, which manages the interaction between front-end messaging applications and back-end messaging systems and provides a common user interface for frequent tasks.
    • The MAPI subsystem acts as a central clearing house to unify the various messaging systems and shield clients from their differences.

    MAPI Subsystem 

    The MAPI subsystem is made up of the MAPI spooler, a common user interface, and the programming interfaces. The MAPI spooler is a separate process responsible for sending messages to and receiving messages from a messaging system. The common user interface is a set of dialog boxes that gives client applications a consistent look and users a consistent way to work.

    The above article shows how Simple MAPI, CMC, and the CDO Library are layered between MAPI and client applications. Messaging-based clients call directly into MAPI while messaging-aware and messaging-enabled clients call into Simple MAPI, the CDO Library or CMC. Calls to these higher level APIs are forwarded to MAPI.

    MAPI - Programming interfaces 

    MAPI has programming interfaces that are used by the MAPI subsystem, by client application writers, and by service provider writers. The main programming interface is an object-based interface known as the MAPI programming interface. Based on the OLE Component Object Model, the MAPI programming interface is used by the MAPI subsystem and by messaging-based client applications and service providers written in C or C++.

    Client Application Writers 

    Client application writers have a choice of three other interfaces:

      • Simple MAPI
        •  An API function-based client interface for applications written in C, Microsoft Visual C++, or Microsoft Visual Basic.
      • Common Messaging Calls (CMC)
        • An API function-based client interface for applications written in C or C++.
      • CDO Library
        •  An object-based client interface for applications written in C, C++, Visual Basic, or Visual Basic for Applications. 

    Note:

    • Simple MAPI, CMC, and CDO Library client interfaces are primarily for messaging-aware and messaging-enabled client applications.
    • These interfaces are less complex.
    • Applications that require fewer messaging features can use Simple MAPI, CMC, or the CDO Library to implement these features quickly and easily.

    MAPI client application

    • A MAPI client application is any application that uses one of the three MAPI client interfaces (Simple MAPI, CMC, and the CDO Library) or the MAPI programming interface.
    • Client applications implement messaging tasks as either their primary or secondary focus.
    • Messaging client applications, such as applications that send and receive electronic mail, implement messaging as their primary focus while for non-messaging client applications, such as inventory or configuration applications, it is a secondary feature.

    Client application categories 

    Client applications can be organized into one of the following three categories:

    • Messaging-aware applications
    • Messaging-enabled applications
    • Messaging-based work group applications

    i) Messaging-aware applications 

    A messaging-aware application does not require the services of a messaging system, but includes messaging options as an additional feature.

    Example: A word processing application that includes a Send command in its File menu to allow documents to be sent is considered messaging-aware.

    ii) Messaging-enabled applications 

    A messaging-enabled application requires the services of a messaging system and typically runs on a network or an online service.

    Example: A messaging-enabled application is Microsoft Mail.

    iii) Messaging-based work group applications 

    A more advanced client application is the messaging-based work group application. The work group application requires full access to a wide range of messaging system services, including storage, addressing, and transport services. These applications are designed to operate over a network without users having to manage the applications' network interaction.

    Example: Such applications include work flow automation programs and bulletin board services.

  • Le Café Central de DeVa

    Exchange Server 2007 - Database Architecture changes

    • 1 Comments

    Exchange Server 2007 - Database Architecture changes 

    The Exchange database architecture has changed in four significant respects in Exchange Server 2007:

    • The streaming database (.stm) file has been removed from Exchange 2007.
    • Longer log file names are used, thereby enabling each storage group to generate as many as 2 billion log files before log file generation must be reset.
    • Transaction log file size has been reduced from 5 MB to 1 MB to support the new continuous replication features in Exchange 2007.
    • The database page size has increased from 4 KB to 8 KB.
  • Le Café Central de DeVa

    Exchange Server Comparison - Versions 2000, 2003 & 2007

    • 1 Comments

    Find the features comaprison of Exchange Server 2007 with features available in earlier versions, Exchange Server 2003, and Exchange Server 2000.

    Please find this useful article.

  • Le Café Central de DeVa

    Technical Architecture of Exchange Server 2007

    • 1 Comments

    Technical Architecture of Exchange Server 2007 

    In Exchange Server 2007 introduces several architectural changes from previous versions of Exchange. Many features and components have been redesigned, some features have been removed, and several new features have been added.

    This document discusses the technical architecture of Exchange 2007, including descriptions of server roles, topologies, and the transport architecture. It is a compilation of several Exchange 2007 Help topics and is provided as a convenience for customers.

    Please find the following documentation here

  • Le Café Central de DeVa

    Monitoring Event sink # 3 - Using OLE DB Provider & Application Event Logs

    • 1 Comments
    When we work with event sink, many of the time we'll get confuse, whether the event is working or not. Because there are quite some issues associated probably event sink might be not properly registered or not, how about its criteria filter or any of the interfaces or missing were some of the common reasons.
     
    By making use of MS Exchange OLE DB provider, we can find more valuable information. We can check MS Exchange OLE DB provider logs events in the Microsoft Windows® server operating systems Application event log.

    The following table describes these events.

    Severity Symbol Description
    Error EVENTS_BINDING_DISABLED The Exchange OLE DB (ExOLEDB) provider has disabled the event registration due to the problems in the event sink.
    Error EVENTS_INVALID_BINDING The ExOLEDB provider was unable to register the event.
    Error EVENTS_INVALID_CRITERIA_FILTER The ExOLEDB provider was unable to process the specified event criteria filter.
    Error EVENTS_INVALID_PROPERTY_VALUE The ExOLEDB provider was unable to initialize the event registration.
    Error EVENTS_INVALID_SINK_CLASS The ExOLEDB provider was either unable to create an event sink object or unable to get the necessary interface or interfaces from the sink class.
    Error EVENTS_MISSING_PROPERTY The ExOLEDB provider was unable to initialize event registration due to a missing property value.
    Error EVENTS_UNABLE_TO_INITIALIZE_SOURCE The ExOLEDB provider was unable to initialize event registration for the store.
    Error EVENTS_UNABLE_TO_REGISTER_BINDING The ExOLEDB provider was unable to initialize an event registration.
    Error EXOLEDB_FAILED_TO_REGISTER_OBJECTS The ExOLEDB provider was unable to successfully register event sink Component Object Model (COM) objects
  • Le Café Central de DeVa

    EXOLEDB Architecture

    • 1 Comments

    EXOLEDB Overview

    • Exchange Server 2007 provides a new, high-performance OLE DB provider that you can use on the local server to access Exchange store items: the Exchange OLE DB (ExOLEDB) provider.
    • Through the ExOLEDB provider, programmers can access the Exchange store using OLE DB, Microsoft ActiveX Data Objects (ADO), and Collaboration Data Objects (CDO).

    EXOLEDB Architecture

    The above article shows the relationship between ADO, CDO, OLE DB, the ExOLEDB provider, and the Exchange store.

    • ExOLEDB provider is a server-side component, and is therefore used only to access public stores and mailbox stores that reside on the same server.
    • We can access data on the server remotely by wrapping functionality into Component Object Model (COM) components, which can be utilized by ASP and other Web applications.
    • ExOLEDB provider is also ideal for use in COM+ components and Exchange store event and workflow sinks that run on the server.
    • To access remote public stores and mailbox stores, use the WebDAV protocol, MAPI, or CDO 1.2.1.

     

  • Le Café Central de DeVa

    Exchange Server - Technologies - FAQ

    • 1 Comments

    Exchange Server - Frequently Asked Questions 

    When we do Exchange programming with client and server versions of the Exchange Server Providers, MAPI32, EMSMDB, EMSABP and MSPST32 almost or always causes confusion. In this article, we'll discuss about the common terminologies: 

  • What is MAPI? 
  • MAPI will generally mean MAPI32.dll, or the APIs contained. It's an API, implemented largely in MAPI32.dll (Messaging Application Programming Interface, 32 bit build). By using this, developers implement a series of Providers. Providers come in three major types, Transport Providers, Message Store Providers, and Address Book Providers. Providers are DLLs that implement a specific pseudo COM API, such as IMessageStore, and the underlying required interfaces, such as IMAPIProp.

  • Then, what is a MAPI Application?
    It means any application that uses the MAPI calls. MAPI applications work against sets of data sources grouped into Profiles. Profiles are created, saved, and deleted by the Profile Provider. The Profile Provider is implemented in MAPI32.dll in two forms:
    • The temporary profile provider, which stores profile data in temp files.
    • The normal profile provider, which stores profile data in the registry.

    An empty profile gives a MAPI application no data access, so MAPI applications add Providers (also called Services) to the profile. A common thing for MAPI applications to do is add services for EMSMDB and EMSABP to a profile, granting the ability to access data from Exchange Server. Providers do all of the actual work in MAPI. When you submit a message, although the call might pass through MAPI32, it is EMSMDB (or your provider) that does the actual work for sending. When saving a message, it is not MAPI32 that saved the message; it's the message store provider (usually EMSMDB for Exchange Server). When you resolve a recipient, it is not MAPI32 that searches for the user in the address book. It is the Address Book Provider, implementing the IAddrBook interface (probably EMSABP). 

  • What do you meant by CDO or Colloboration Data Objects?  Does CDONTS, CDOSRV, CDOSYS, CDOEX, EXCDO, or CDOEXM all are same jargons?
  • Collaboration Data Objects (CDO) refers to CDO.DLL, not CDONTS, CDOSRV, CDOSYS, CDOEX, EXCDO, or CDOEXM. CDO and Outlook are both MAPI applications, meaning that they use MAPI APIs to access their data and, therefore, the underlying providers. CDO and Outlook share a common set of Properties that, when taken together, define different classes of messages and different functionality. This works similar to the schema in a database; however, MAPI32 does not implement the storage. The Message Store Provider does. In the case of Exchange Server, this provider is EMSMDB, and Exchange Server is mostly agnostic about the semantics of the data that applications choose to store. Exchange Server 5.5 has almost no knowledge of individual named property meanings. Exchange 2000 Server and Exchange Server 2003 are considerably more aware of the significance of particular named properties on different message classes, in particular, calendar items. This logic is implemented in EXOLEDB and EXCDO. In general, it is up to users of a particular set of properties to agree on what those properties mean and how they are manipulated.

    CDO implements an API to manipulate sets of properties together to accomplish tasks, such as scheduling a meeting. Outlook also implements APIs to manipulate sets of properties, and does presentation of that data to the end user. If CDO and Outlook don't agree on what particular properties mean, or on the mechanisms used to control processing logic (for instance, when an appointment has been updated), potential for problems interoperating between Outlook and CDO exist. Although Outlook continues to be updated and expanded with every version, CDO.dll is more or less static at the same level of functionality it has possessed for years. Newer libraries for manipulating calendar data, such as CDOEX, are considerably more up to date.

  • What do you meant by EMSMDB or EMSMDB32 or Exchange Transport Provider? 
  • EMSMDB refers to the Exchange transport provider, EMSMDB32. One example of a provider is EMSMDB2, the "Electronic Messaging System Microsoft Data Base, 32 bit build" provider. EMSMDB implements both a transport and a message store and, as such, is a dual provider.
    The transport is the ability to submit messages to Exchange Server; the message store is the ability to read (and possible write) messages to an Exchange store process.

  • What do you meant by EMSABP or EMSABP32 or Exchange Address Book provider? 
  • EMSABP refers to the Exchange address book provider, EMSABP32. The other common provider involved with Exchange Server is EMSABP, which is an Address Book Provider (Electronic Messaging System Address Book Provider, 32 bit build). EMSABP implements IAddrBook and allows access to the Exchange global address list through Name Service Provider Interface (NSPI).

  • Le Café Central de DeVa

    Exchange Web Services Architecture

    • 1 Comments

    Exchange Web Services 

    Exchange Web Services is deployed with the Client Access server role. Microsoft Exchange Server 2007 clients connect to the computer that is running Exchange 2007 that has the Client Access server role installed in an Active Directory directory service site by using an HTTPS connection.

    For more information refer this article

  • Le Café Central de DeVa

    Part # 1 - Guide to Public Folders in Exchange Server 2007

    • 1 Comments

    Guide to Public Folders in Exchange Server 2007

    Please find the following articles, which guides us "how-to" deal with Public folders in Exchange Server 2007.

  • Le Café Central de DeVa

    Monitoring Event sink # 6 - Using Store Event Sink Bit Flags

    • 2 Comments
     
    In Event sink development, we have event sink bit flags. These flags can be used to identify which event sink was fired.
     
    The bit flags are implemented in EXEVTSNK.TLB, which is installed with the Exchange Software Development Kit (SDK). Then these flags are passed through the LFLAGS parameter of the following Exchange store event interface methods:

    Event Sink Flags Hexidecimal Value Decimal Value Description
    EVT_NEW_ITEM 0x00000001 1 The item is newly created.
    EVT_IS_COLLECTION 0x00000002 2 The item is a folder.
    EVT_REPLICATED_ITEM 0x00000004 4 The item is being replicated from another location.
    EVT_IS_DELIVERED 0x00000008 8 The item is being saved as a result of message delivery.
    EVT_SOFTDELETE 0x00000010 16 The item was deleted.
    EVT_HARDDELETE 0x00000020 32 The item was permanently deleted.
    EVT_INITNEW 0x00000040 64 First firing of the event sink. This is useful for initialization purposes. It is set only once during the lifetime of a created event sink.
    EVT_MOVE 0x00000100 256 The item was saved/deleted due to a move.
    EVT_COPY 0x00000200 512 The item was saved due to a copy.
    EVT_SYNC_BEGIN 0x01000000 16777216 The begin phase of the synchronous event.
    EVT_SYNC_COMMITTED 0x02000000 33554432 The commit phase of the synchonous event.
    EVT_SYNC_ABORTED 0x04000000 67108864 The event was aborted.
    EVT_INVALID_SOURCE_URL 0x20000000 536870912 Unable to get the source URL.
    EVT_INVALID_URL 0x40000000 1073741824 Unable to get the target URL.
    EVT_ERROR 0x80000000 2147483648 An error during the event.
  • Le Café Central de DeVa

    Calendar logging feature from Outlook

    • 1 Comments

    When i dealt with one of my customer, whose application dealt with Calendaring solution, i made this facility. Even in most of the scenarios, when we deal with Microsoft Office Outlook based calendaring solutions, what're the user action or what're the changes has made. But we have quick & smart solution for that.

    By making use of logging calendar transactions feature in the MS Outlook. Because of the Calendar logging feature, calendar transactions that are generated by client features, by user actions, by the object model, or by the MAPI Calendar Table are written to a log file.

    1) So what the log file will contain? 

    The log file contains the following information:

    Sniffer (Inbox auto-processing)
    Free/busy publishing
    Reminders
    Calendar item actions (creation, modification, or to deletion)
    Resource booking

    2) What is the main goal of the logging feature?

    The main goal of the Calendar logging feature is to quickly identify situations where, for example, meetings are inexplicably deleted from a Calendar folder


    For more information, please view the following article

  • Le Café Central de DeVa

    Windows Server 2008 Resources (E-learning, E-Book, Hands-on labs, Skills transitioning courses)

    • 1 Comments

    It's for all Microsoft developers, enthusists!! 

     

    Windows Server 2008 Release Candidate helps IT professionals to increase the flexibility and reliability of their server infrastructure while offering developers a more robust web and applications platform for building connected applications and services.

     

    To download the RC1 Enterprise 64 bit only with the Hyper-V Beta, go to

    http://www.microsoft.com/downloads/details.aspx?FamilyId=8F22F69E-D1AF-49F0-8236-2B742B354919&displaylang=en

     

    Other Windows Server 2008 Resources: 

    Free Windows Server 2008 e-book offer and Microsoft Press newsletter

    This e-book includes excerpts from two recent publications from Microsoft Press:

    Introducing Windows Server 2008 by Mitch Tulloch with the Microsoft Windows Server Team (ISBN: 9780735624214)
    This e-book covers Windows Server virtualization, managing Windows Server 2008, Active Directory, Terminal Services, and failover clustering.

    Microsoft Windows PowerShell Step by Step by Ed Wilson (ISBN: 9780735623958)
    This e-book includes an overview of Windows PowerShell, using Windows PowerShell cmdlets, and leveraging PowerShell providers.

    Additional chapters from Introducing Windows Server 2008 will be added periodically, so be sure to come back and read more from expert Mitch Tulloch and the Windows Server team.

    Register to get the free e-book offer, and sign up for the Microsoft Press Book Connection newsletter.

    Register now

    Microsoft E-Learning 

    Collection 5934: Introducing Windows Server 2008—free for a limited time!
    This online learning collection of clinics introduces the new features and functionality in Windows Server 2008. The clinics cover server virtualization, security and policy management, branch office management, centralized application access, and server management. You can take the entire collection of clinics, or just the clinics that interest you.

    Clinic 5935: Introducing Server Virtualization in Windows Server 2008

    Clinic 5936: Introducing Security and Policy Management in Windows Server 2008

    Clinic 5937: Introducing Branch Office Management in Windows Server 2008

    Clinic 5938: Introducing Centralized Application Access in Windows Server 2008

    Clinic 5939: Introducing Server Management in Windows Server 2008

     

    Collection 6041: Upgrading Your Windows Server 2003 MCSE Technical Skills to Windows Server 2008

    Get a head start on Windows Server 2008. Now is the time to upgrade your technical skills on Windows Server 2008 with Microsoft E-Learning Collection 6041, including access to virtual labs.

    Special limited time offer! Sign up for this collection now and get free registration for three upgrade collections on Networking, Active Directory, and Application Platform Services as they become available.

    Course 6042: Installing and Managing Windows Server 2008 (Beta)

    Course 6043: Implementing Active Directory Domain Services in Windows Server 2008 (Beta)

    Course 6044: Implementing Active Directory Identities and Access in Windows Server 2008 (Beta)

    Course 6045: Managing Internet Information Services 7.0 and Windows Media Server in Windows Server 2008 (Beta)

    Course 6046: Implementing Network Infrastructure Services in Windows Server 2008 (Beta)

    Course 6047: Implementing Network Access Protection in Windows Server 2008 (Beta)

    Course 6048: Implementing Terminal Services in Windows Server 2008 (Beta)

    Course 6049: Implementing a Storage Infrastructure in Windows Server 2008 (Beta)

    Course 6050: Implementing Security in Windows Server 2008 (Beta)

    Course 6051: Implementing High Availability and Virtualization in Windows Server 2008 (Beta)

     

    Classroom training

    Classroom training is designed to help you transition your skills and build expertise on Windows Server 2008 with world-class learning content. In this section, you will find both first-look courses as well as skills-transitioning courses.

    First-look courses and hands-on labs

    These 90-minute clinics and accompanying hands-on labs target specific scenarios on Windows Server 2008 to help you prepare for Windows Server 2008 certification.

    Course 6400: First Look: Getting Started with Centralized Application Access in Windows Server 2008

    Course 6401: First Look: Getting Started with Centralized Application Access in Windows Server 2008 Hands-On Lab

    Course 6402: First Look: Getting Started with Branch Office Management in Windows Server 2008

    Course 6403: First Look: Getting Started with Branch Office Management in Windows Server 2008 Hands-On Lab

    Course 6404: First Look: Getting Started with High Availability in Windows Server 2008

    Course 6405: First Look: Getting Started with High Availability in Windows Server 2008 Hands-On Lab

    Course 6406: First Look: Getting Started with Security and Policy Control in Windows Server 2008

    Course 6407: First Look: Getting Started with Security and Policy Control in Windows Server 2008 Hands-On Lab

    Course 6408: First Look: Getting Started with Server Management in Windows Server 2008

    Course 6409: First Look: Getting Started with Server Management in Windows Server 2008 Hands-On Lab

    Course 6410: First Look: Getting Started with Server Virtualization in Windows Server 2008

    Course 6411: First Look: Getting Started with Server Virtualization in Windows Server 2008 Hands-On Lab

    Course 6412: First Look: Getting Started with Web and Applications Platform Technologies in Windows Server 2008

    Course 6413: First Look: Getting Started with Web and Applications Platform Technologies in Windows Server 2008 Hands-On Lab

    Skills transitioning courses

    These three-day classroom sessions are designed to help Microsoft Certified Systems Administrators (MCSAs) and Microsoft Certified Systems Engineers (MCSEs) transition their skills from Windows Server 2003 to Windows Server 2008.

    Course 6415: Updating Your Network Infrastructure Technology Skills to Windows Server 2008

    Course 6416: Updating Your Active Directory Technology Skills to Windows Server 2008

    Course 6417: Updating Your Application Platform Technology Skills to Windows Server 2008

    Course 6418: Deploying Windows Server 2008

    If you are interested in building a Learning Plan for 2008, here is the place.

    http://learning.microsoft.com/manager/LearningPlanV2.aspx?resourceId=%7b5c72c6e4-9848-46b7-a7e5-3b4bd54196cd%7d&clang=en-US

  • Le Café Central de DeVa

    Transport Architecture

    • 1 Comments

    Transport Architecture - Exchange Server 2007

    • I found this wonderful article, which gives heads up to Exchange Server 2007 with respect to Transport Architecture.
    • When we work with Exchange Server 2007, it's must to know how internally the messages are getting routed.
    • In Exchange Server 2007, the transport is collection of various server roles, connections, components and queus that work together to route the messages.
  • Le Café Central de DeVa

    Powershell & cmdlet - In a Nutshell - Part 9 - Modifying Transport Agent using Set-TransportAgent cmdlet (Exchange Management Shell)

    • 1 Comments

    Modifying Exchange Transport Agent

    For administer transport agents, we must use the Set-TransportAgent cmdlet (Exchange Management Shell). For its details syntax and parameters, please refer here.

    The following example shows how the priority of a sample agent for Exchange agent would be modified. You can use the Exchange Management Shell to modify the priority of an existing transport agent by using,

    Set-TransportAgent "Sample Agent for Exchange" -Priority 2

    Note:

    • To run the Set-TransportAgent cmdlet on a computer that has the Edge Transport server role installed.
    • You must be a member of the local Administrators group on that computer.
    • To run the Set-TransportAgent cmdlet, the account you use must be delegated to: Exchange Server Administrator role and local Administrators group for the target server.

  • Le Café Central de DeVa

    Exchange Store - Experiences (FAQ) - Part 2

    • 1 Comments

    Here are some questions that are frequently asked by my customers whenever they try to access/enumerate Exchange Store: 

    1) Can you name some of the known URL's of users mailbox folders?

    Calendar          file://./backofficestorage/example.com/MBX/UserAlias/Calendar
    Contacts         
    file://./backofficestorage/example.com/MBX/UserAlias/Contacts
    Drafts              
    file://./backofficestorage/example.com/MBX/UserAlias/Drafts
    Inbox              
    file://./backofficestorage/example.com/MBX/UserAlias/Inbox
    Journal            
    file://./backofficestorage/example.com/MBX/UserAlias/Journal
    Notes             
    file://./backofficestorage/example.com/MBX/UserAlias/Notes
    Outbox           
    file://./backofficestorage/example.com/MBX/UserAlias/Outbox
    Sent Items       
    file://./backofficestorage/example.com/MBX/UserAlias/Sent%20Items
    Tasks             
    file://./backofficestorage/example.com/MBX/USerAlias/Tasks

    2) What do you meant by "Public folder replication"?

    Public folder replication is the process by which public folder content and the public folder hierarchy is replicated across multiple servers for efficiency and fault tolerance purposes.

    • When multiple public folder databases that are located on separate servers support a single public folder tree, Microsoft Exchange uses public folder replication to keep the databases synchronized. 
    • Public folder content exists only in Exchange stores that are configured to have a replica of a specific folder.
    • Content and hierarchy information are replicated separately.
    • Each public folder database retains a copy of the hierarchy, which includes lists of the other public folder databases that retain content replicas of each folder.
    • Content replicas exist only on the public folder databases that you specify

    3) What do you mean by "Exchange Store Schema"?

    Exchange store schema consists of properties that define all resources in the store, including e-mail messages, appointments, folders, and contacts. It includes numerous predefined properties you can use in your applications.

    4) Can we extend the "Exchange Store Schema"?

    Yes, you can also extend the Exchange store schema by defining your own custom properties.

    5) What is so called "Namespace" in "Exchange Store Schema"?

    A namespace provides a unique name for every property in the Exchange store schema.

    • For example, the namespaces urn:schemas:httpmail: and urn:schemas:mailheader: both contain properties named From.
    • By prefacing the name of a property with the correct namespace, you can avoid collisions between properties with similar names.

    6) What is "DAV:Namespace"?

    This namespaces defines properties for the WebDAV. It includes properties for general data access (such as DAV:href). Also it can be used for determining hierarchical information such as DAV:isfolder.

  • Le Café Central de DeVa

    Discontinued Features and De-Emphasized Functionality - Exchange Server 2007

    • 1 Comments

    Discontinued Features and De-emphasized functionality - Exchange Server 2007 

    • Do you know what're discontinued Features and De-Emphasized Functionality in Exchange Server 2007 ?. Then this article will be for you.
    • This article give details about the components, features, or functionality that has been removed, discontinued, or replaced in Microsoft Exchange Server 2007.
    • Please find this article

    Note: Some of the features and components that are listed as discontinued or de-emphasized in this topic were added to Exchange Server 2007 in Service Pack 1 (SP1). Please find this article.

  • Le Café Central de DeVa

    Exchange Store - Experiences (FAQ) - Part 1

    • 0 Comments

    Here are some questions that are frequently asked by my customers whenever they try to access/enumerate Exchange Store: 

    1) In Exchange Store, how to get all properties for a particular item? 

    To get all the properties for a particular item, bind to it directly by using various technologies like Activex Data Objects, Collaboration Data Objects, OLE DB, or through WebDAV.

    2) So, can i get all properties for all items using SELECT * ?

    This is one of the frequently asked questions from our customers whenever they try to access any of the Exchange Store. But we can't get all properties for all items. Because each item in the folder could have different properties in it.

    3) So, what will we get when we make use of SELECT * ?

    When running the SELECT * statement on a folder, we can get only the list of properties. These properties are defined by the schema for the folder.

    4) What're the properties that cannot be searched? 

    The following properties cannot be searched because their values are only calculated when used and are not stored in the Exchange store.

    DAV:getetag, DAV:href, DAV:lockdiscovery, DAV:parentname, DAV:resourcetype, DAV:searchrequest
    http://schemas.microsoft.com/exchange/content-href
    http://schemas.microsoft.com/exchange/ntsecuritydescriptor
    http://schemas.microsoft.com/exchange/oof-state
    http://schemas.microsoft.com/exchange/publicfolderemailaddress
    http://schemas.microsoft.com/repl/repl-uid
    http://schemas.microsoft.com/repl/resourcetag
    urn:schemas:contacts:proxyaddresses
    urn:schemas:httpmail:htmldescription
    urn:schemas:httpmail:subject
    urn:schemas:mailheader:subject
    urn:schemas-microsoft-com:exch-data:baseschema
    urn:schemas-microsoft-com:exch-data:schema-collection-ref

    All properties that contain URL values, such as DAV:href, are calculated and UTF-8 encoded. Even this list is not comprehensive and is subject to change.

    5) What're the SQL grammar, functions and functionality are not supported?

    AVG, CONVERT (use CAST), COUNT, CREATE VIEW, DATASOURCE, DELETE, DROP INDEX, INSERT, JOINS, MAX, MIN, Revision ID header (ignored), Scope aliases, SELECT DISTINCT, SET, Scope revision numbers, SHAPE, SUM, UNKNOWN, UPDATE, Wildcard expressions (use CONTAINS, FREETEXT, and LIKE)

    This list is not comprehensive and is subject to change.

    6) When i try to search or index certain properties, it throws errors or getting no results?

    In Exchange store calculates some of the properties but does not store those values/entires. But some of these properties are cached, however, and can be searched or indexed.

    7) What is the property needs to set to access hidden items from MAPI Clients?

    To hide items that are accessible to MAPI clients (like Outlook), you must set the http://schemas.microsoft.com/mapi/proptag/x67aa000b property to true when the item is created.

    Note: If the flag is not set when the item is first created, you cannot hide it later from MAPI clients.

  • Le Café Central de DeVa

    Microsoft Clinic for Exchange Server 2007 - Unified Messaging

    • 1 Comments

    Hi,

    Please find the following Microsoft Clinic for Exchange Server 2007 available for free - limited period, so make use of this!!

    Course Name: Clinic 5091: Introduction to Microsoft Exchange Server 2007 Unified Messaging
    URL:               https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=75413
    Estimated Time: 2 hrs
    Available Offline: Yes

    In this online clinic, you are introduced to the new Unified Messaging features and functionalities in Exchange Server 2007. In addition, you learn how telephony and Unified Messaging can be integrated in Exchange Server 2007. This online clinic is composed of a rich multimedia experience. It is intended for IT Professionals, who are interested in telephony or Unified Messaging.

  • Le Café Central de DeVa

    Exchange Store Event interfaces

    • 2 Comments

    1) In general, by where Exchange Store event interfaces are implemented?

    Exchange Store event interfaces are implemented in EXOLEDB.DLL and EXEVTSNK.TLB.

    2) What're the unsupported Exchange store event interfaces? 

    When we program with Exchange store, certain event interfaces are not supported. It is recommended that they not be used in applications:

    • IEventSinkIsCacheable Interface
    • IExStoreLockEvents Interface
    • IExStoreNotification Interface
    • IExStoreRegisterNotification Interface
    • IGetLockRow Interface
  • Le Café Central de DeVa

    Developer information about the calendar changes in Outlook 2003 Service Pack 2, in Exchange Server 2003 Service Pack 2, and in later versions of Exchange Server and of Outlook

    • 1 Comments

    Hi Exchange and Outlook developers!!

    I found this wonderful article, which describes a change in how Microsoft Office Outlook 2003 Service Pack 2 (SP2) and later service packs, Microsoft Exchange Server 2003 Service Pack 2 (SP2), and later versions of Exchange Server and of Outlook handle meetings. This new design addresses disappearing-meeting scenarios that were introduced by Outlook 2003 in cached mode.

    The new design does not have a visible effect on end-users. However, the new design can affect custom solutions that integrate with the calendar features in Outlook. This article describes the new design so that developers of custom solutions can update those solutions if it is required

     

  • Le Café Central de DeVa

    A Glimpse on MAPI tables

    • 1 Comments

    1) What do you meant by "MAPI table"?

    • A MAPI table is a MAPI object that is used to view a collection of properties belonging to other MAPI objects of a particular type.

    2) How the values are stored and can be used in MAPI table?

    • MAPI tables are structured in a row and column format with each row representing an object and each column representing a property of the object.
    • One of the properties usually included in each row is the PR_ENTRYID property, an identifier that can be used to open and modify the object.
    • Rows contain property values, retrieving a row from a table is similar to getting a set of properties directly from the object that the row represents.
    • Both operations result in the retrieval of a property value array.
    • The main difference is in the handling of long string and binary properties.
    • For inclusion in a table, some table implementers truncate these properties to 255 bytes.
    • When retrieved directly from the object, the full value is always available.

    3) In which way usage of MAPI tables are useful?

    • MAPI tables enable client applications and service providers to readily access and manipulate the important properties of many types of objects.
    • Even MAPI tables such as contents tables, provide an alternative way of accessing properties.

    Take this case directly a client cannot access an attachment's PR_ATTACH_METHOD property by calling IMAPIProp::GetProps; it must always retrieve the attachment table of the message to which it is attached. PR_ATTACH_METHOD is a required column in all attachment tables.

  • Le Café Central de DeVa

    Top support issues for Exchange Server Information Stores

    • 3 Comments

    I found this wonderful article, which discusses the top support issues for the Microsoft Exchange 2000 & 2003 Server information stores.

    This article lists references to Microsoft Knowledge Base articles that describe the issues that may occur when you use the Microsoft Exchange information stores. Additionally, this article lists references to Microsoft Knowledge Base articles that discuss how to troubleshoot issues that you may experience.

    This article does not provide a complete list of all the support issues for the Exchange information stores, but certainly it will be a eye opener or will fit into 'generic starter' soup!!

  • Le Café Central de DeVa

    Migrating from Exchange 2000 and Exchange 2003 APIs

    • 2 Comments
    Migrating from Exchange 2000 and Exchange 2003 APIs
     
    I found the following article, which will help to users who want to migrate from Exchange Server 2000 and 2003 APIs to Exchange Server 2007. This article talks about Exchange 2000 Server and 2003 based several APIs that are not included in Microsoft Exchange Server 2007.
     
    Also this article talks about the recommended technologies that are recommended to migrate to.
  • Page 1 of 2 (29 items) 12