Exchange Server 2007 Service Pack 3 available for download!

Yesterday Microsoft released SP3 for Exchange Server 2007. One of the major updates is added support for Windows Server 2008 R2. It’ is very nice too see that Microsoft listens to its customers, this update is a direct result of that.

You can find the update here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=1687160b-634a-43cb-a65a-f355cff0afa6&displaylang=en

And more information here:
http://technet.microsoft.com/en-us/library/ff607233(EXCHG.80).aspx
http://msexchangeteam.com/archive/2010/06/21/455145.aspx

Integrate OCS 2007 R2 with Exchange Server 2010 SP1 OWA

I have seen a number of posts in different forums with questions on how to integrate Office Communications Server2007 R2 with Outlook Web App in Exchange Server 2010 Service Pack 1. There are some changes made in SP1 that will cause your current integration to break. But this can be easily fixed with a couple of configuration changes.
 

Changes? Why Changes??

Well, changes in this case is good. What Microsoft has done is to move the Instant Messaging settings for the OWA virtual directory from web.config to Active Directory where it should be. It’s better to have all parameters for OWA virtual directory gathered in one place, right?
Below, I will walk you through the complete configuration process. If you only want to read about the configuration related to SP1, scroll down a bit to configuration!
 

Pre-requirements

OCS 2007 R2 Web Service Provider found here:
http://www.microsoft.com/downloads/details.aspx?familyid=CA107AB1-63C8-4C6A-816D-17961393D2B8&displaylang=en

Hotfix for the OCS 2007 R2 Web Service Provider:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=45C94403-39FA-44D3-BE23-07F25A2D25C7

Update Unified Communications Managed API 2.0 Redist (64 Bit) Hotfix KB 2282949:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1F565A42-71D2-4FBD-8AE0-4B179E8F02AB

When running Exchange2010 Sp1 on a Windows 2008 R2, include the following UCMAREDIST Update, available here:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b3b02475-150c-41fa-844a-c10a517040f4

Installation

The installation of the Web Service Provider is quite straight forward:
  1. Download and execute CWAOWASSPMain.msi to you Exchange Server 2010 CAS.
  2. In Windows Explorer, navigate to the directory where the files from CWAOWASSPMain.msi were placed. The default location is C:\Web Services Provider Installer Package\.
  3. Execute and install vcredist_x64.exe.
  4. Execute and install UcmaRedist.msi.
  5. Go to Start > All Programs > Accessories, right-click Command Prompt, and then click Run as Administrator.
  6. Go to the directory where the files from CWAOWASSPMain.msi were placed and run CWAOWASSP.msi.
  7. Install the other updates listed under pre-requirements above.
Done, you should now have all the required components installed on you Exchange Server 2010 CAS.
 

Configuration

 
Certificate
First we will configure the certificate. We start of by getting the thumbprint of the certificate by using the following command:
get-ExchangeCertificate | fl
 
Your thumbprint should look something like this:
4DC1EE3506E06E971FF82AC8DD60015EAC11B21E
 
To apply this to our configuration use the following command:
Set-OwaVirtualDirectory -Identity <"WebSiteIdentity"> –InstantMessagingCertificateThumbprint <CertificateThumbprint>
 
Example:
Set-OwaVirtualDirectory -Identity "SUNDIS-EX01\owa (Default Web Site)" -InstantMessagingCertificateThumbprint 4DC1EE3506E06E971FF82AC8DD60015EAC11B21E
ocsintegration1
 
Server Name
Next we set the server name for the OCS server, this should be the FQDN of the OCS server. Use the following command:
Set-OwaVirtualDirectory -Identity <"WebSiteIdentity"> –InstantMessagingServerName <ServerFQDN>
 
Example:
Set-OwaVirtualDirectory -Identity "SUNDIS-EX01\owa (Default Web Site)" -InstantMessagingServerName sundis-ocs01.sundis.local
ocsintegration2
 
Set type and Enable
Next we set the type of Instant Messaging Server to OCS by using this command:
Set-OwaVirtualDirectory -Identity "SUNDIS-EX01\owa (Default Web Site)" -InstantMessagingType OCS
ocsintegration3
 
And last but not least we enable Instant Messaging Server by using the following command:
Set-OwaVirtualDirectory -Identity "SUNDIS-EX01\owa (Default Web Site)" -InstantMessagingEnabled $true
ocsintegration4
 
Finish the configuration by doing a get to se the changes we made with the following command:

Get-OwaVirtualDirectory | fl InstantMessagingCertificatethumbprint, InstantMessagingServerName, InstantMessagingType, InstantMessagingEnabled
ocsintegration9

Well I almost forgot, the last thing you should do after all these configuration changes is to restart IIS by entering the following command:
iisreset /noforce
 
Now you should be all set!
 
OCS Settings
You do however need to make one last finishing touch on the Office Communications Server. That is to add the FQDN of the certificate that you specified in the Set-OwaVirtualDirectory command above as a trusted host in you OCS server. To do this Navigate to the pool or server in OCS, right click on your pool or server and select Properties and then Forest End Properties.ocsintegration5
 
Open the  Host Authorization tab and then click Add.ocsintegration6
 
Enter the FQDN found on the certificate you added in the previous step and make sure that you check Throttle AS Server and Treat As Authenticated, when finished click Ok. The FQDN will most certainly include a external domain in your case. In my case it’s an internal domain for testing purposes.ocsintegration7
 
Make sure that all settings are correct, when finished click Ok.ocsintegration8
 
Give OSC a moment to apply the settings and then head of to OWA and enjoy!
 
Thanks for reading and don’t hesitate to comment if you have any further questions or thoughts about the post!

Update Rollup 4 for Exchange Server 2010

Exchange CXP team has released Update Rollup 4 for Exchange Server 2010 RTM (KB 982639) to the download center.

More information can be found here: http://msexchangeteam.com/archive/2010/06/17/455191.aspx and here:http://support.microsoft.com/?kbid=982639

Small script to list a users distribution group memberships in Exchange 2007 and 2010

I have created a small script to list the current group membership for a specific user. Save the code to a ps1 file and execute.

$User = read-host -Prompt "Enter Username"
"User " + $User + " is a member of the following groups:"

ForEach ($Group in Get-DistributionGroup)
{
   ForEach ($Member in Get-DistributionGroupMember -identity $Group | Where { $_.Name –eq $User })
   {
      $Group.name
   }
}

For example, I saved the file as c:\DGMemebrship.ps1 and executed it using the following command:
./DGMemebrship.ps1

DGMembership

The Return of Tech-Ed Europe!

Once again Tech-Ed Europe will take place in Berlin, the date is set to 8 – 12 November. Don’t miss this opportunity to learn about both new and old products and technologies. But the most important thing, network with other visitors, meet new people and make new friends.

Tech·Ed Europe

Tech·Ed Europe is Microsoft’s premier technical education event providing the most comprehensive technical training on Microsoft’s suite of products, technologies, solutions and services. If you are a technology professional involved in building, deploying or maintaining IT solutions using Microsoft technologies, Tech·Ed Europe is the conference that will help you solve today’s real-world challenges and prepare you for tomorrow’s innovations. >> Learn more about Tech·Ed.

What you’ll get at this year’s event
  • Hear about the future of Microsoft’s products, technologies, solutions and services directly from Microsoft’s leaders
  • Choose from over 370 technical sessions delivered by Microsoft and industry experts
  • Participate in more than 150 Hands-on Labs and Technical Learning Centres designed to give you practical experience with the latest tools and technologies
  • Network with Microsoft and industry experts, and fellow delegates that share your technology interests and business challenges
  • Plan the features and architecture to support your product and business goals and to prepare your skills for the future
Get a Jumpstart on Technical Learning with Pre-Conference Seminars

Arrive early and get a jumpstart on your technical learning. Choose from eight pre-conference seminars delivered by Microsoft and industry experts, and selected to give you an edge on the latest technologies and topics.

Additional fees apply; conference delegates will receive a €100 discount on the pre-conference seminars. >> View the full list of seminar titles, descriptions and speakers.

This sound great! So how do I register?

Visit the official Tech-Ed site and  register online: http://europe.msteched.com/

Exchange Server 2010 SP1 Beta – Installing and Features Part 2

This is the second post in my series about Exchange Server 2010 Service Pack 1 beta. It covers more of the features i think is worth mentioning.

Features Continued…

First, I will again give instructions on how to manage My Organization, this is where we can find both old and new features for administration in ECP.

ecp

Configure Transport Rules in ECP

To Configure Transport Rules in ECP, navigate to Mail Control and Rules. In my case the list of rules is empty since I haven’t created any rules yet. But let’s change that and start with creating a rule. I will create a disclaimer, a common rule to cover something used by most companies today. Click New to start the creation process.

transport1

In the New Rule window you can configure conditions and actions for the rule. If you click on More Options… you can also add exceptions. Choose The recipient is in the scope of and then select Outside the organization in the Select Scope window.

transport2

As the action choose to Append a disclaimer to the message…

transport3

Click Enter text… to add the disclaimer message to the rule, when finished click Ok.

transport4

Then click Select one… to choose an action to take if the disclaimer can’t be applied. When finished click Ok.

transport5

This gives us the following rule, look through the settings to make sure that everything is ok and then click Save.

transport6

To make sure that everything is working ok we can check the rule in Exchange Management Console. As you can see, the rule we created in ECP is listed in EMC as well.

transport7

Configure Journal Rules in ECP

Just as Transport Rules we can now manage Journal Rules in ECP too, this is also placed under Mail Control. Before we create a new rule we must configure the address that NDRs for undeliverable journal reports will be sent to, Click Select address.

journal1

Enter the address you want to use or click Browse to browse for a user.

journal2

Choose the user you want to add and then click Ok.

journal3

When you are finished adding the address that reports will be sent to click Save.

journal4

Now that we have the report address configured we can move on to create a new rule, click New to start the creation.

journal5

First we have to configure the user which we will journal messages. This can be a specific user of we can journal all messages. To specify a user, Select A specific user and click Select people….

journal6

In the address book windows find and mark the preferred user, click Select and then click Ok.

journal7

Select the scope of messages, in my example the scope is All Messages. Also, add the address to forward journal reports to and enter a suitable name for the rule. When finished with the configuration click Save.

journal8

All done, but let’s check if the rule shows in Exchange Management Console as well.

journal9

”Reset Virtual Directory” tool in EMC

Some of you might think that this new feature isn’t that much of a deal, but you can’t imagine how many times a virtual directory reset can be the magic solution to problems related to any of the virtual directories. By adding this as a graphic wizard the MS Exchange Team has made it easy to use and you don’t have to use PowerShell.

To start the wizard navigate to Server Configuration, Client Access, select the server you would like to modify and either right click the server and click Reset Virtual Directory or click Reset Virtual Directory in the action pane.

reset1

On the Introduction step, click Browse to select the virtual directory to reset.

reset2

In my example I will reset Microsoft-Server-ActiveSync in Default Web Site, click on the directory you need to reset and then click Ok.

reset3

Click Next to move on to the next step.

reset4

To choose where to save the current directory settings click Browser. The default path will do for me, when finished click Next.

reset5

After reviewing the summary and making sure that all information is correct, click Reset.
Note that this does remove all custom settings for the specified directory and resets it back to default.

reset6

After the reset is complete click Finished.

reset7

But we aren’t finished yet, for the changes to take effect we need to reset the IIS. Open your favorite console and run the following command:

iisreset /noforce

reset8

Thanks for reading!

That’s it for now folks, I might be adding another post with more features tomorrow depending on the work load. Thanks again for reading and do not hesitate to drop a comment or contact me if you have any questions of thoughts! Part one in this series can be found here: https://msundis.wordpress.com/2010/06/08/exchange-server-2010-sp1-beta-installing-and-features-part-1/

Manage resource work hours in Exchange Server 2007 and 2010

In this post I will show you how to configure the way Exchange handles work hours for a resource mailbox.

Exchange 2007

To set the work hours you can use OWA or Outlook.

OWA
You can find the settings under Options and Calendar Options. Edit the Start Time and End Time of Calendar Work Week.

workhours1

For OWA client, the Working hours configuration is saved in a hide message in Calendar folder, you can use MFCMapi to check the configuration:

  1. Run MFCMapi tool and logon the user mailbox (Online Mode)
  2. Open mailbox and expand Root Container and Top of Information Store
  3. Right click the Calendar folder and click Open Associated Contents Table
  4. Click the message which subject is IPM.Configuration.WorkHours
  5. Open the property 0x7C080102 which contains the Work Hours setting.

Outlook
You can either configure the settings using the Outlook client, in Outlook 2010 the settings are in Outlook Options, Calendar and Work Time. Also, the Working hours configuration is saved in following registry key on the client:

HKCU\Software\Microsoft\Office\12.0\Outlook\Options\Calendar
CalDefEnd
CalDefStart

When the work hours are set, you will have to run the following command to make sure that the mailbox only accept bookings during work hours:
Set-MailboxCalendarSettings -Identity <mailboxidentity> -ScheduleOnlyDuringWorkHours $true

Example:
Set-MailboxCalendarSettings -Identity test3 -ScheduleOnlyDuringWorkHours $true

Exchange 2010

In Exchange Server 2010 it’s a bit different. First, this is how you configure the actual work hours:
Set-MailboxCalendarConfiguration -Identity <mailboxidentity> -WorkingHoursStartTime <start time in format 00:00:00> -WorkingHoursEndTime <end time in format 00:00:00>

Example:
Set-MailboxCalendarConfiguration -Identity test3 -WorkingHoursStartTime 08:30:00 -WorkingHoursEndTime 17:30:00

workhours2

And if you want to change the settings for all room mailboxes:
Get-Mailbox | Where {$_.RecipientTypeDetails -eq "RoomMailbox"} | Set-MailboxCalendarConfiguration -WorkingHoursStartTime 08:30:00 -WorkingHoursEndTime 17:30:00

workhours3

There are plenty more settings that you can configure, to check the current settings use the following:
Get-Set-MailboxCalendarConfiguration -Identity <mailboxidentity> | fl

resourceconfig1

When this is done you will have to set the resource mailbox to accept bookings only during work hours:
Set-CalendarProcessing -Identity <mailboxidentity> -ScheduleOnlyDuringWorkHours $true

Example:
Set-CalendarProcessing -Identity test3 -ScheduleOnlyDuringWorkHours $true

workhours4

Thanks for reading! And as usual, if you have any further questions don’t hesitate to let me know!