Tag Archives: Customization

Guide: How to do the change management for Office 365 clients?


Daily i come across good number of customers/IT pros where they want to know more about the change management for Office 365 clients, so i am posting the related info here.

As you aware the client applications that are included with Office 365 are released regularly with updates that provide new features and functionality together with security and other updates. Windows 10 has also adopted this servicing model and is also releasing new functionality regularly. As an IT Professional, you need to understand this servicing model and how you can manage the releases while your organization takes advantage of the new functionality.

So we have documented the detailed info about the change management for Office 365 clients, service models for updates, understand about the release channels, cadences and how to effectively manage the release of Office 365 client application for your organization  – so please go through and make use of it.

In addition, you can refer the related articles as well:

Overview of update channels for Office 365 ProPlus

Overview of Windows as a service

Microsoft cloud IT architecture resources

Release information for updates to Office 365 ProPlus

Hope this helps.

Exchange Server 2016 hands-on demo videos


We’ve got some great Exchange Server 2016 resources that I wanted to share, including some hands-on demo videos that I think you’ll enjoy.

Collaboration updates – Outlook, Exchange, SharePoint, Onedrive:

Exchange Server 2016 Smarter inbox – Search and customization updates:

Exchange Server 2016 & Outlook on the go – Mobile, browser and productivity updates:

Exchange Server 2016 – Performance, architecture and Compliance updates:

Exchange Server 2007, 2010: How to query user mailboxes, its permissions using Exchange PowerShell?


In Exchange Server 2007/2010, you can use Exchange PowerShell cmdlets (especially using Get-Mailbox, Get-MailboxPermission, Get-ADPermission, Get-MailboxFolderPermission) to get a verity of info. I played with couple of the below in different scenarios and want to share the same with you – so that you can give a shot and make use of.

Scenario # 1: How to query permissions on a mailbox (testuser1)?
> Get-MailboxPermission test1

image

Scenario #2: How to query permissions of all the mailboxes on a particular server?
> Get-Mailbox –Server “ServerName” | Get-MailboxPermission

image

Scenario #3: How to query permissions of all the mailboxes?
> Get-Mailbox | Get-MailboxPermission
Note: This will get the list of all permissions (including SELF permissions and inherited permissions)

image

Scenario # 4: How to query permissions of all the mailboxes (filter out SELF and inherited permissions)?
> Get-Mailbox | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITYSELF" -and $_.IsInherited -eq $false}

Scenario #5: How to query mailbox permissions and Security permissions (only enumerate permissions that are not Inherited)?
> Get-Mailbox | Get-MailboxPermission | where {$_.IsInherited -eq $False}
Note: The above query will get you the “explicitly assigned permissions”

Scenario #6: How to query the explicitly assigned permissions (filter out SELF permissions)?
> Get-Mailbox | Get-MailboxPermission | where { ($_.IsInherited -eq $false) -and -not ($_.User -like “NT AUTHORITYSELF”) }

Scenario #7: How to query list of all mailboxes with Send-As permission assigned on them?
> Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like “*Send-As*”)} | FT –Wrap
Note: This will get the list of mailboxes with Send-As permission assigned. Also you can notice that it shows Send-As permissions assigned to SELF on all mailboxes also.

Scenario #8: How to query list of all mailboxes with Send-As permission assigned on them (filter out SELF and inherited permissions as similar to Scenario #4)?
> Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like “*Send-As*”) -and ($_.IsInherited -eq $false) -and -not ($_.User -like “NT AUTHORITYSELF”)} | FT –Wrap

Scenario #9: How to query the permissions of shared calendar in Exchange 2010?
> Get-MailboxFolderPermission –identity “mailboxaccount*:Calendar”
Note: If you just try Get-MailboxFolderPermission with identity with mailboxaccount won’t get you the above.

Scenario #10: How to query the users rights to a specific users mailbox?
> Get-MailboxPermission –identity “username” | fl user, accessrights

image

Scenario #11: How to query the permissions for every users mailbox?
> Get-MailboxPermission –identity * | fl user, identity, accessrights

image

Note:

+ Exporting the data:
At anypoint of time, if you want to export the above results to a CSV file, then you can use “Export-csv”. Say, let we try with one of the above scenario – try with scenario # 2:
> Get-Mailbox | Get-MailboxPermission | Export-csv C:permissions.csv

image

+ Automation using .Net Framework:
If you want to like to add Exchange management capabilities to your Microsoft .NET Framework–based applications then you can try the above by referring the following: http://msdn.microsoft.com/en-us/library/bb332449(v=exchg.80).aspx and http://msdn.microsoft.com/en-us/library/ff326159(v=exchg.140).aspx.

Happy PowerShelling and automation…!!

Why using Custom Outlook forms and HTTP scenarios not recommended?


In Outlook, custom Outlook forms are not supported for use with HTTP-based mail services (such as Microsoft Hotmail). Outlook does not prevent you from using custom form features if you are using an HTTP-based mail service. However, some features do not work correctly. The features do not work correctly because HTTP-based mail messages are stored in a read-only state on the server. Therefore, we recommend that you do not use custom Outlook forms if you are using an HTTP-based mail service.

OWA Customization Update : Outlook Web Access (OWA) 2010 Support Policy


Adding this blog post with respect to my previous article regarding support for Exchange Server OWA customization and its PSS Support Policy. We do get customers that they try and want to us provide assistance on OWA customization for OWA 2007 and 2010. They either want to customize OWA by changing features or by modifying the user interface or want to restore back to the normal OWA. Although they can customize OWA objects by modifying either the script code or the HTML, but Microsoft does not recommend that them to do so.

Please note: Per the support knowledge base article, Microsoft Product Support Services (PSS) also cannot help you with the customization. But if you want to customize the OWA, the following limitations and considerations apply:

  • PSS does not provide assistance to customize OWA objects.
  • If you contact PSS about an OWA issue for a server that OWA is customized on, you must replace the customized files with the original versions of the files and verify that you can reproduce the issue by using the original versions of the files.
  • If the issue occurs only with the customized versions of the files, and you cannot reproduce the issue with the original versions of the files, PSS cannot help you troubleshoot the issue.
  • If you install a service pack or hot fix that updates the files in the Program FilesExchsrvrExchweb folder, any customized files that exist in that folder are overwritten.
  • As a best practice and we recommend customers to follow is, if you do not want to lose the customizations that you created, create a backup of the customized files, and then restore the files after you install the service pack or hot fix.

In these scenarios, although PSS cannot help you (customers/developers/end-users) customize OWA,  they can still try any one of the following resources:

  • As you know, Microsoft hosts public newsgroups where you can post questions and discuss topics that are related to Exchange Server or Exchange 2000. One of the newsgroups where you can ask questions that are related to Exchange 2000 development is microsoft.public.exchange2000.development. To access this newsgroup and other Exchange Server newsgroups, visit the following Microsoft Web site: http://technet.microsoft.com/en-us/exchange/bb341336.aspx 
  • To locate other Exchange Server communities, visit the following Microsoft Web site: http://technet.microsoft.com/en-us/exchange/bb341336.aspx

Hope this helps.

Outlook Custom form : Creating a message class when customizing form pages


In the Publish Form As dialog box, when you type a name in the Display name field, you will notice that the Form name field reflects the display name by default. You can leave the form name to be the same as the display name or you can change the form name. The display name will be the caption at the top of your form. The display name will also be used to construct the name under which your form will be published. When you publish your form, the display name will be listed in the Choose Form dialog box.

Outlook automatically constructs a message class for the form by preceding the form name with IPM. For instance, if you publish a mail message form that you want to name "MyForm", in the Display name field, type: This is my Form. In the Form name field, type: MyForm. At the bottom of the dialog box, Outlook will display the message class for your new form as: IPM.Note.MyForm.

When you search in the Choose Form dialog box, you will see "This is my Form" displayed in the list. If you select it, the Display name field at the bottom of the dialog box will display, "This is my Form" and the Form name field will display, "MyForm".

A message class, which is generated automatically by Outlook from the form name, is assigned to the form. When a form with that message class is selected, Outlook loads and displays an instance of that form. Outlook will use the message class, IPM.Note.MyForm, to locate the form with the display name, "This is my Form".

Please note:

  • The message class is an internal identifier used by Microsoft Office Outlook and Microsoft Exchange to locate and activate a form .
  • The message class property corresponds to the MAPI property PR_MESSAGE_CLASS.
  • This class property determines which receiving folder the message should be routed to and which form should be activated to view the message.

DevMSG – Outlook profile customization – available options



“We want to be able to have the users in our company log on to outlook without having to configure anything?

Is there a way that I could automate a profile creation  once the user opens up Outlook? 

Or is this something that will have to be done manually? 

We have around a 100 users and they are located at different locations throughout our organization spread across the country?”

 

 

Usually we get such queries to automate the custom profiles using PRF and they look for script whether this can be done or not by using MS Messaging API’s. First we don’t have any messaging API which is exposed for this – no programming dev support available for the above requirement.

But we have alternate available…

If this requirement is for Outlook 2003 then, you need to try with PRF files. Outlook 2003 can use PRF files, they are text files describing how the MAPI profile should look like. You need to check out the Office 2003 resource kit for more info

http://www.microsoft.com/downloads/details.aspx?FamilyId=44ADF67C-16E9-4B3D-B6F8-2877EB647341&displaylang=en
http://office.microsoft.com/en-us/ork2003/HA011402841033.aspx?pid=CH011480681033

If you try with Outlook 2007 then, you need to use the Office Customization Tool to modify profile settings and create a new PRF file that includes those settings. If you have an existing PRF file then you can specify the file by using the Office Customization Tool, and the Outlook profile settings will be included in your Setup customization file.

If your earlier PRF file specifies Internet Mode Only (IMO) settings, create a new PRF file by using the Office Customization Tool, and then export the settings to a PRF file.

Check if you have the latest SP for Office 2007.

As a security measure, PRF’s can only be imported using the /importPRF switch. See http://www.outlook-tips.net/howto/commandlines.htm for help using switches.

Note : /importprf prffilename:

Launches Outlook and opens/imports the defined MAPI profile (*.prf). If Outlook is already open, queues the profile to be imported on the next clean launch.

Please check these links:

Customize Outlook profiles by using an Outlook Profile (PRF) file
http://technet.microsoft.com/en-us/library/cc179062.aspx

Apply an Outlook Profile (PRF) File to configure Outlook profiles
http://technet.microsoft.com/en-us/library/cc178945.aspx

Create an Outlook Profile File (*.PRF)
http://www.outlook-tips.net/howto/prf.htm

Importing .PRF Files Into Outlook 2007 in Vista
http://www.jasondunn.com/outlook2007-import-prf-172

Customizing Outlook Profiles by Using PRF Files
http://office.microsoft.com/en-us/ork2003/HA011402581033.aspx

Customizing OWA 2007 language settings


With the continuation of the previous blogpost, today we’re going to see how we can use Microsoft Office Outlook Web Access or the Exchange Management Shell to configure language settings for Outlook Web Access in Microsoft Exchange Server 2007. Microsoft have provided various options to customize the OWA pages, contents/images/themes in a simpler way. As a part of that, we cam make sure that we can do the language setting for OWA, which determines the language of the Outlook Web Access logon page and error messages, and can be changed by the user at any time.

There are three language settings that you can configure for Outlook Web Access.

  1. The logon and error language setting applies to individual Outlook Web Access virtual directories. The logon and error language is the language that will be used for errors and the forms-based authentication logon page. If a value is not set for this language, the default value is 0. This means that the default logon and error language is not defined. Note: If the logon and error language is not defined, Outlook Web Access will default first to the language set on Internet Explorer on the client computer. If the language set on Internet Explorer on the client computer is not supported by Outlook Web Access, Outlook Web Access will use the language of the Client Access server.
  2. The default client language setting applies to individual Outlook Web Access virtual directories. The default client language is the client language that is used by Outlook Web Access unless the user uses Regional Settings in Outlook Web Access to change the language and time zone. The default value for this setting is 0. This means the default client language is not defined. If the default client language is not defined, users will be prompted to choose a language and time zone the first time that they log on to Outlook Web Access. If the default client language value is defined, users will not be prompted to choose a language and the Outlook Web Access time zone will use the time zone of the Client Access server. Note: Defining the default client language causes the default folders to be renamed based on the specified language. Users can change the client language and time zone by using Regional Settings in Outlook Web Access, and can rename the default folders after they log on.
  3. The client languages are set on individual mailboxes and affect the language that is used in Outlook and Outlook Web Access. If multiple languages are configured, the first language in the list that is supported by the Web browser will be used. Note: If none of the languages in the default languages list is supported by the Web browser, the Client Access server language will be used.

Note:

  • In order to modify the various attributes in OWA Virtual directory, you need to use Set-OwaVirtualDirectory cmdlet to modify the properties of Outlook Web Access virtual directories on a computer that is running Microsoft Exchange Server 2007 that has the Client Access server role installed.
  • In order to modify the settings of an existing mailbox we need to use the Set-Mailbox cmdlet. You can use this cmdlet for one mailbox at a time.
  • To perform bulk management, you can pipeline the output of various Get- cmdlets (for example, the Get-Mailbox or Get-User cmdlets) and configure several mailboxes in a single-line command. You can also use the Set-Mailbox cmdlet in scripts


How to do OWA Customization for…

How to use the Outlook Web Access client to configure language settings ?

  1. Use a Web browser to access Outlook Web Access.

  2. Click Options, and then click Regional Settings.

  3. Under Language, in the Choose language list, click the language that you want to use.

    Note: The language that you select will determine the date and time settings in the Date and Time Formats section.

  4. Click Save to save your language settings.

 

How to use the Exchange Management Shell to configure the logon and error language settings for Outlook Web Access ?

  1. Run the following command to set the logon and error language setting:

    Set-OwaVirtualDirectory -identity "Owa (Default Web Site)" -LogonAndErrorLanguage <language code>

How to use the Exchange Management Shell to configure the default client language setting for an Outlook Web Access virtual directory ?

  1. Run the following command to set the default client language setting:

    Set-OwaVirtualDirectory -identity "Owa (Default Web Site)" -DefaultClientLanguage <language code>


How to use the Exchange Management Shell to configure the client languages setting for an individual mailbox ?

  1. Run the following command to set the client languages setting for an individual mailbox:

    Set-Mailbox -identity <mailbox identity> -languages <language code>

Tutorial : Organizational Forms Library – Series # 2


Can we create it programmatically?

To create it programmatically using MAPI, we need to make use of CreateFolder(), the MAPI function. It is necessary to have very special privileges (obtained by opening the store with an EntryID created using IExchangeManageStore::CreateStoreEntryID()) to get it to work.

Please refer the following KB to create Org. forms library programmatically.


How to create Org. Forms Library in Exchange Server 2003 ?

To create a new Organizational Form in Exchange Server 2003, please follow the steps given below:

1. Start Exchange System Manager.

2. Expand the Organization object. Expand your Administrative Group.

3. Expand Folders. Right-click Public Folders.

4. Click View System Folders.

5. In the list of folders present in the right-hand pane, click the EFORMS Registry folder.

6. Right-click the EFORMS Registry folder, then click New. Click Organizational Form.

7. Enter a name for your Organizational Form, and then click OK.

8. Repeat these steps for multiple forms to create the library.

Note:
1)
How to create copies of organizational forms library?

In Exchange Server 2003, to create copies of the Organizational Forms Library on other servers, click the Replication tab, and then type the name of server that you want to contain the copy of the Organizational Forms Library.

2) How to set the storage limits for an organizational forms library?

To set storage limits for an Organizational Forms Library, click the Limits tab. To create a description of an Organizational Forms Library, click the Details tab. To set permissions for each user, click the Permissions tab.


How to create Org. Forms Library in Exchange Server 2007 ?

Per the KB, you need to follow the following method to create an Organizational Forms Library as it got changed in Exchange 2007.

To create an Organizational Forms Library in Exchange 2007, follow these steps.

1. Create a new public folder.

a. Click Start, point to All Programs, click Microsoft Exchange Server 2007, and then click Exchange Management Shell.

b. Run the following command at the Exchange Management Shell prompt:
New-PublicFolder -Path "NON_IPM_SUBTREEEFORMS REGISTRY" -Name "My Organizational Forms Library"

Note: You can use the Exchange management shell on any version of Exchange 2007 to create a folder. However, in Exchange 2007 SP1, you can also create the EFORMS REGISTRY folder by following these steps:

            a. Go to Toolbox in Exchange Management Console. Double-click Public Folder Management Console.

            b. In the left pane, click System Public Folders.

            c. in the Action pane, click New Public Folder. Type EFORMS REGISTRY as the folder name, and then click NEW.

            d. After the folder is created, click Finish to exit the wizard.

2. Add the PR_EFORMS_LOCALE_ID.

a. Use an account that belongs to the Exchange Administrators Group to log on to a client computer that is running Microsoft Office Outlook 2003 or a later version of Microsoft Outlook.

b. Start the Microsoft Exchange Server MAPI Editor (Mfcmapi.exe) from the MFCMAPI folder.

c. Create a MAPI profile if it is necessary.

d. On the Session menu, click Logon and Display Store Table.  Select MDB menu, click Open Public Folder Store, and then click OK.

e. Expand Public Root, expand NON_IPM_SUBTREE, and then expand EFORMS REGISTRY.

f. Click the public folder that you created in step 1. For example, click My Organizational Forms Library.

g. Click the PR_URL_NAME property. On the Property Pane menu, click Modify Extra Properties. Click Add, and then click Select Property Tag.

h. Click PR_EFORMS_LOCALE_ID in the list, and then click OK. Click OK two times. A red mark is displayed next to the newly created PR_EFORMS_LOCALE_ID property.

i. Double-click PR_EFORMS_LOCALE_ID. In the Unsigned Decimal box, type the desired locale ID, and then click OK. For example, type 1033 for English, type 1040 for Italian, or type a different ID for a different locale.
Note: To determine the locale ID for other locales, visit the following Microsoft Web site: http://msdn2.microsoft.com/en-us/library/aa579489.aspx (http://msdn2.microsoft.com/en-us/library/aa579489.aspx)

j. Exit MAPI Editor.

3. Configure limits and permissions for the Organizational Forms Library folder. Note: You can use suitable cmdlets in the Exchange Management Shell to set limits and permissions for the Organizational Forms Library folder.

a. To set storage limits, use the following cmdlet: Set-PublicFolder

b. To set permissions for each user, use the following cmdlets: Add-PublicFolderClientPermission, Add-PublicFolderAdministrativePermissions

Tutorial : Free/Busy data – Series # 1


Publishing Free/Busy data:


Free/busy data is published information that contains a user’s personal availability data based on the user’s schedule. Microsoft Exchange Server uses the information extensively when users schedule meetings.



  • Exchange Server 2003 stores free/busy information in a dedicated public folder that is named SCHEDULE+ FREE BUSY. This folder contains a separate subfolder for each administrative group in your Exchange organization. When a user publishes free/busy data, Exchange Server 2003 posts the information in a message in the appropriate free/busy subfolder. The free/busy folders are system folders and function in a manner that is similar to offline address book folders.

  • Exchange Server 2007 uses the availability service.

Free/Busy data & different versions of Outlook and Exchange Server :



  • The process of publishing free/busy data from the user’s client application to the appropriate free/busy folder depends in part on the client that the user has.

  • Outlook and other MAPI-based clients function somewhat differently in this respect from Web-based clients such as Microsoft Office Outlook Web Access for Exchange Server 2003 and Microsoft Outlook Mobile Access.

  • The Availability service for Microsoft Exchange Server 2007 provides calendar information for your users. This information is known as free/busy information.

How Outlook publishes free/busy data?


By default, Outlook publishes the free/busy data for a user one time every 15 minutes, and again when Outlook shuts down. When publishing, Outlook updates the entire free/busy message instead of just adding changes to the existing message. The message includes free/busy data that ranges from the current month to two months in the future.


How to customize with Outlook?


Outlook users can customize the free/busy settings, including the following:




    • Publishing interval, which can be as short as one minute.

    • Number of months in the future to publish, which can be as long as 36 months.

Outlook 2007 with different Exchange Servers:


As we know that Microsoft Office Outlook 2007 works well with a variety of e-mail servers, and you can take advantage of an even richer feature set by using Outlook with the latest version of Microsoft Exchange Server. Some features of Office Outlook 2007 require or work better with Microsoft Exchange Server 2003 or later.



  • Free/Busy information is always up-to-date for users with Exchange 2007 Availability service. But it’s not the case with Exchange 2003.

  • Tentative calendar booking is managed on the Exchange Server. Users do not need to run Outlook for others to see their Free/Busy status. This feature is only available in Exchange Server 2007, not with Exchange Server 2003.

MadFB, Autodiscover & Outlook clients:



  • The Autodiscover service provides information for the Availability service by locating and providing the external and internal URLs for the Outlook 2007 client.

  • If your Microsoft Office Outlook 2007 users cannot view calendar information for other Outlook 2007 users in your Exchange 2007 environment, the problem may involve a failure in either the Autodiscover service or the Availability service.

  • Microsoft Entourage for the Macintosh also relies on this MadFB(MSExchangeFBPublish) process to publish free/busy data.

  • Outlook Web Access and Outlook Mobile Access do not publish free/busy data directly to the public folder store.

  • Instead, they rely on a free/busy publishing agent that is named MadFB (also known as MSExchangeFBPublish), which runs as part of the Microsoft Exchange System Attendant service (MSExchangeSA).

  • MadFB has two functions.


    • It publishes free/busy messages for Outlook Web Access and Outlook Mobile Access

    • It deletes duplicate free/busy messages

Note: Because most of the processing is handled by the Exchange servers instead of the client, using Outlook Web Access and Outlook Mobile Access can provide performance and reliability advantages over Outlook.


There are various other issues happens with respect to Free/Busy data when we do with programming as well as with the Outlook clients. I tried to catch up some of them and summarize for your view….


1. Troubleshooting the Free/Busy information for Outlook 2007 by reading this technet article or you can check it through the error codes available. Some of them are,



  • 0x80072EE7 – ERROR_INTERNET_NAME_NOT_RESOLVED – This error is usually caused by a missing host record for the Autodiscover service in the Domain Naming service.

  • 0X80072F17 – ERROR_INTERNET_SEC_CERT_ERRORS – This error is usually caused by an incorrect certificate configuration on the Exchange 2007 computer that has the Client Access server role installed.

  • 0X80072EFD – ERROR_INTERNET_CANNOT_CONNECT – This error is usually caused by issues that are related to Domain Naming service.

  • 0X800C820A – E_AC_NO_SUPPORTED_SCHEMES – This error is usually caused by incorrect security settings in Outlook 2007.

2. If you use Exchange Server 2007, you can determine whether the Availability service is not functioning properly or not:
(i) using Event log (ii) using Test-OutlookWebServices cmdlet
.


Using Event log:


When we try to review the application event log on the Exchange 2007 Client Access server and check for events that are generated by the Availability service. There are common events that are associated with the availability service as described. Some of them are,


  • 4001 The Availability service could not discover an Availability service in the remote forest   If you see this event, verify that the Autodiscover service in the remote forest is functioning correctly.

  • 4003 PublicFolderRequestFailed   This event usually indicates a failure to look up free/busy information for legacy mailboxes. Typically, this information comes from public folders. This error might be caused if the public folders are configured incorrectly or if the Availability service has not been configured to look up public folders for the legacy mailboxes. The description of this event will usually include the URL to the target public folder and one of the following HTTP errors:


    • 401   If you see this HTTP error, Integrated Windows authentication is probably disabled on the /public virtual directory.

    • 403   If you see this HTTP error, the Client Access server may be offline or it does not contain a replica. This might occur if Secure Sockets Layer (SSL) is not enabled on the /public virtual directory.

    • 404   This HTTP error can occur if the /public virtual directory could not be found.

  • 4005 Could not find information in Active Directory to allow cross-forest requests   If you see this event, you must configure the Availability service across forests.

  • 4011 Cross-forestRequestFailed   This usually indicates a failure to locate an AvailabilityAddressSpace object that is required to proxy the Availability service request to a different forest.

  • In this case, we will see how to find and troubleshoot the issue using the Event log. A 4003 event indicates a failure to look up free/busy information for legacy mailboxes. Typically, this information comes from public folders. The following is an example of a 4003 event.




    Event ID : 4003


    Raw Event ID : 4003


    Category : Availability Service


    Source : MSExchange Availability


    Type : Error


    Message : Process 4664[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-1-128114978363374212]: Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequest failed. The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequestProcessingException


    This may be due to Exchange 2007 users are unable to see the free/busy information for users whose mailboxes reside on the Exchange 2003 server. The free/busy information displays as hash marks for these users in the Outlook Scheduling Assistant page.


    Using Test-OutlookWebServices cmdlet:


    When you try to test through cmdlet test the service using, 
                            Test-OutlookWebServices -id:user1@contoso.com -TargetAddress: user2@contoso.com



    • The Test-OutlookWebServices cmdlet uses a specified e-mail address to verify that the Outlook provider is configured correctly.

    • The optional MonitoringLogFile parameter indicates whether the results are written to the log file for Microsoft Operations Manager (MOM).

    • Using the Test-OutlookWebServices cmdlet to verify the Autodiscover service settings for Microsoft Outlook on a computer that is running Microsoft Exchange Server 2007 that has the Client Access server role installed.

    • This will provide the error details about the Availability service.

    For example, as specified in the following article and code example verifies the service information that is returned to the Outlook 2007 client from the Autodiscover service for a user who is named monika@contoso.com. The code example verifies information for the following services:



    • Availability service

    • Outlook Anywhere

    • Offline Address Book

    • Unified Messaging

    test-OutlookWebServices -identity:monika@contoso.com

    This code example tests for a connection to each service. This example also submits a request to the Availability service for the user monika@contoso.com to determine whether the user’s free/busy information is being returned correctly from the Client Access server to the Outlook 2007 client.


    3. Free/Busy Options Not Unique to Each Profile:


    On a computer that contains multiple profiles, the Free/Busy options will be the same for every profile. This information is defined in the KB article. The Free/Busy information is stored on a per-user basis rather than a per-profile basis. If the user who is logged on to the computer defines multiple profiles, each profile will contain the same Free/Busy information.

    To set the calendar Free/Busy information, follow these steps:


    1. On the Tools menu, click Options.


    2. On the Preferences tab, click Calendar Options.


    3. Click Free/Busy Options. In the Free/Busy Options dialog box you can set the following items:



    • How many months of Free/Busy information to publish.


    • How frequently the information should be updated.


    • Whether the information should be published on the Internet.


    • The Internet URL address for storing and searching for the information.


    4. Conditions that affect the display of Free/Busy time in Outlook:

    After you make an appointment in your active Calendar in Microsoft Outlook, other people may not immediately see that time as busy. This condition may also occur when someone attempts to invite you to a meeting.


    There are three possible causes for this behavior:



    • By default, Outlook updates your Free/Busy time every 15 minutes. If the update is not complete, others will not see your appointment as busy time.


    • Outlook publishes your Free/Busy time for only the next two months. If your appointment is beyond the published limit, others will not see your appointment as busy time.


    • If the appointment Show Time As property is set to Free, others will not see your appointment as busy time.


    The unavailability of Free/Busy information appears as black hatched lines in the Attendee Availability dialog box.


    Resolution:



    • If the cause is how often Outlook updates Free/Busy time, follow these steps as described in the support KB.

    • If the cause is how far ahead Outlook publishes Free/Busy time, follow these steps as described in the support KB

    • If the cause is that the Appointment Show Time As property is not set to Free, follow these steps as described in the support KB

    5. Legacy free/busy information no longer appears for appointments that are booked against a mailbox in Exchange Server 2007:


    In a Microsoft Exchange Server 2007 environment, you configure a room mailbox to have the AllBookInPolicy attribute set to “false.” When you do this, the legacy free/busy information no longer appears for the appointments that are booked against the mailbox. For example, when you examine the free/busy information by using the Scheduling Assistant, the room mailbox shows a status of No Information.


    This issue occurs because the default permission is changed to “None” when the AllBookInPolicy attribute is set to “false.” This situation prevents the Exchange System Attendant from publishing the legacy free/busy information. By default, when any mailbox is created, the free/busy permissions are set as follows:


    Default: Read: Free/Busy time
    Anonymous: None


    This condition is also true for resource mailboxes.


    To go through the following article to resolve this problem in Exchange Server 2007 Service Pack 1.


    6. Resolving problems in Outlook for delegated Exchange Server 2003 mailbox users :


    As stated above, we need to perform this procedure if delegated users are receiving error messages such as “Unable to open the free/busy message” when they try to modify the mailbox owner’s calendar.




    1. Request that all delegate users and the mailbox owner shut down Outlook.



    2. Request that the mailbox owner start Outlook with the /cleanfreebusy switch. The mailbox owner can do this from the command prompt by typing: outlook/cleanfreebusy


      Outlook will re-create the LocalFreeBusy message and synchronize the other mailbox folders to use it.



    3. Resume using Outlook. Delegates should now be able to use the mailbox as expected.


    7. Cleaning Mailbox stores using MadFB:


    As stated above, and in the over time, the free/busy folders may accumulate duplicate free/busy messages. In addition, Outlook and the free/busy folders may become unsynchronized, especially for mailboxes that have multiple delegate users. This section provides information about how Exchange Server 2003 automatically maintains free/busy data according to a configurable schedule, and about how you can repair synchronization problems.


    The cleanup process includes:



    • Deleting duplicate free/busy data messages.
      These are messages with an appended –x in the URL, where x is the number of the duplicate message. For each set of duplicates, MadFB keeps the oldest message and deletes the rest.

    • Repairing the URLs of free/busy messages.
      The URL of a free/busy message must be in canonical format, ending with subject(based on legacyExchangeDN).EML.
      Messages that are duplicates of existing free/busy messages have non-canonical URLs because of the appended -x. Messages that have been upgraded or replicated from Microsoft Exchange Server version 5.5 have URLs that contain GUIDs. These messages are also considered non-canonical.

    8. Calendar support in an Exchange and Non-exchange environment:


    As stated in the following article regarding the calendar support in an Exchange and Non-exchange environment (for ex. using the Microsoft Exchange Connector for Lotus Notes and the Microsoft Exchange Connector for Novell GroupWise) perform several functions to support calendaring capabilities between the foreign system and Exchange Server 2003:



    • Replicate directory information so that both Exchange users and foreign system users have access to calendaring data.

    • Convert meeting request items from Exchange format to the foreign format and from the foreign format to the Exchange format.

    • Detect Exchange Server 2003 free/busy requests and look up the appropriate free/busy data in the foreign system. This free/busy lookup is bidirectional.