Search This Blog

Showing posts with label Exchange 2010. Show all posts
Showing posts with label Exchange 2010. Show all posts

Friday, August 26, 2011

OWA: options, ecp and rules trow in Unexpected error

Had this issue quit some time in my test environment, but never had the time nor the mood to resolve the issue.
The issue:
OWA works fine for normal e-mail usage, but when you try to set some options, rules a pop-up is displayed which say OWA encountered an unexpected error.


Troubleshooting the issue showed me that the Exchange Control Panel was also unreachable. When accessing Owa from the internet (public url), only the error was displayed with no further information. When trying to access the ECP from the private interface, i managed to retrieve more information on the error "EventID: 4, source: MSExchange Control Panel".

The next logical step is to check the eventvwr, where i discovered that the following event was logged each time i reproduced the issue:
Source: MSexchangeCommon
EventID:106

Performance counter updating error. Counter name is Total time for saving Admin Audit records, category name is MSExchange Admin Audit. Optional code: 1. Exception: The exception thrown is : System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.

I decided to try my luck on the Internet which led me to following tech-net forum-post:

http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/5f1fd736-46b1-45cc-b028-934304163f76/

The solution provided in the forum did resolve the issue.
Open the command prompt in administrative modus, which starts by default in the %systemroot%\system32 folder. If not, go to that path and run following command:
[Code]
LODCTR /r (resets the performance counters)
IISRESET /noforce (restart the IIS services)
[/code]

more info on LODCTR can be found here:
http://technet.microsoft.com/en-us/library/bb490926.aspx




Friday, March 18, 2011

Online Archive - Office 2007 support

Today a customer called me to ask if Microsoft Office 2007 Standard edition supports the Exchange 2010 on-line archive.

As I recalled a message on the Exchange team blog, telling that Office 2007 finally supported the Exchange on-line Archive. I replied "Yes, Outlook 2007 supports the Exchange 2010 On-line archive". http://blogs.technet.com/b/exchange/archive/2010/12/20/3411710.aspx

He replied a bit surprised claiming that all his Office 2007 professional Editions see the on-line archive, while all the standard editions do not.

My first hunch was that those clients must be missing the patch which enables the on-line archive. Yet the customer replied that all patches where installed, even the February roll up for office 2007 (http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2475891&kbln=en-us).

Investigating the issue a bit further revealed that not all Outlook 2007 versions are the same. Following link explains that Office 2010/2007 standard editions do not support the Exchange 2010 On-line Archive:
http://office.microsoft.com/en-us/outlook-help/license-requirements-for-personal-archive-and-retention-policies-HA102576659.aspx

Thursday, December 9, 2010

Configure CAS virtual directories

In some cases you need to define the external as internal url for your client access servers. This is the case when you use a wild card certificate. I thought of creating a script that asks for the url, and implements that url for all your virtual directories on all you client access servers.

[Code]

#TheRealShrimp.blogspot.com 8/12/2010#

Write-host "Please fill in the url you wish to use. Use the world wide web name (www.host.com)."
$url = Read-Host
#------------------------------------------------------------------------------------#
#Set the owa virtual directories#
#------------------------------------------------------------------------------------#
$Cas = get-owavirtualdirectory
Foreach ($_.Name in $Cas) {set-owavirtualdirectory $_.Name -internalurl https://"$url"/owa -externalurl https://"$url"/owa}
$Show = get-owavirtualdirectory | Select-Object Name, Internalurl, Externalurl
write-host "Following url's have been set for Outlook Web App"
Write-Host $Show
#-------------------------------------------------------------------------------------#
#Set the ActiveSync virtual directories#
#-------------------------------------------------------------------------------------#
$Active = Get-ActiveSyncVirtualDirectory
Foreach ($_.name in $Active) {Set-ActiveSyncVirtualDirectory $_.Name -internalurl https://"$url"/MicrosoSelect-Object-Server-ActiveSync -externalurl https://"$url"/MicrosoSelect-Object-Server-ActiveSync}
$Show = Get-ActiveSyncVirtualDirectory | Select-Object Name, Internalurl, Externalurl
write-host "Following url's have been set for Outlook Web App"
Write-Host $Show
#-------------------------------------------------------------------------------------#
#Set the Offline Address Book#
#-------------------------------------------------------------------------------------#
$Book = Get-OabVirtualDirectory
Foreach ($_.Name in $Book) {Set-OabVirtualDirectory $_.name -Internalurl https://"$url"/Oab -externalurl https://"$url"/Oab}
$Show = Get-OabVirtualDirectory | Select-Object Name, Internalurl, Externalurl
write-host "Following url's have been set for Outlook Web App"
Write-Host $Show
#-------------------------------------------------------------------------------------#
#Set the Exchange Control Panel#
#-------------------------------------------------------------------------------------#
$ExCoP = Get-EcpVirtualDirectory
Foreach ($_.Name in $ExCop) {Set-ecpVirtualDirectory $_.name -Internalurl https://"$url"/Ecp -externalurl https://"$url"/Ecp}
$Show = Get-EcpVirtualDirectory | Select-Object Name, Internalurl, Externalurl
write-host "Following url's have been set for Outlook Web App"
Write-Host $Show
#-------------------------------------------------------------------------------------#
#Set-Offline Address Book SCP
#-------------------------------------------------------------------------------------#
$Cas = Get-ClientAccessServer
ForEach ($_.Name in $Cas) {Set-ClientAccessServer $_.Name -AutoDiscoverServiceInternalUri https://"$Url"//Autodiscover/Autodiscover.xml}
#-------------------------------------------------------------------------------------#
[/Code]

Sunday, May 16, 2010

Microsoft.Exchange.Search.ExSearch.exe

The process Microsoft.Exchange.Search.ExSearch.exe which is used for indexing the data in the user's mailboxes in Exchange 2010 can cause 100% CPU usage when one of the mailbox databases is dismounted.

Thursday, April 22, 2010

Group Naming Policies in Exchange 2010 SP1 ECP

Today the Exchange team showed some of the new exiting features which will become available in Exchange Server SP1. Read all about it here.

Thursday, April 8, 2010

Exchange 2010 SP1

The MS Exchange team blog has revealed some of the new features that will be added to Exchange Server 2010 with SP1.
http://msexchangeteam.com/archive/2010/04/07/454533.aspx

And yes, the archiving feature has been extended so we can place the users archive mailbox on another mailbox database, than the mailbox database in which his primary mailbox resides.

Rumors which have been living for the last 4 months are finaly confirmed.

Friday, March 26, 2010

Clean Removal of the first Exchange 2010 Mailbox server or mailbox database.

When you try to remove the Exchange 2010 mailbox server or will remove the firstly installed mailbox database for what ever reason, you will probably find that the removal finishes unsuccessful showing you following error message:
"Uninstall cannot continue. Database 'Mailbox Database 0186314254': This mailbox database contains one or more mailboxes or arbitration mailboxes. To get a list of all mailboxes in this database, run the command Get-Mailbox -Database . To get a list of all arbitration mailboxes in this database, run the command Get-Mailbox -Database -Arbitration. Before you can remove this mailbox database, you must disable, move, or remove user mailboxes and move arbitration mailboxes. "
Some people tend to use ADSIEDIT, but I was wondering if there wasn’t any cleaner way to do it. Do not get me wrong, I often use ADSIEDIT and find it a very helpful tool. But Syntax without the glamor of the GUI has its own edge. Oh and by the way, you will have to use EMS (who uses EMC anyways ;)).
But what are those Arbitration Mailboxes?
Arbitration Mailboxes are used for the Exchange 2010 feature of Moderated Transport:
Using the moderated transport feature in Microsoft Exchange Server 2010, you can require all e-mail messages sent to specific recipients be approved by moderators. You can configure any type of recipient as a moderated recipient, and Exchange 2010 Hub Transport servers will ensure that all messages sent to those recipients go through an approval process.
In any type of organization, you may need to restrict access to specific recipients. The most common scenario is the need to control messages sent to large distribution groups. Depending on your organization's requirements, you may also need to control the messages sent to executive mailboxes or partner contacts. You can use moderated recipients to accomplish these tasks.
http://technet.microsoft.com/en-us/library/dd297936.aspx
These Arbitration Mailboxes are created in the first mailbox database on the first Exchange 2010 mailbox server in the organization. What can we do to remove or move them to another mailbox database?
If you have installed other Exchange 2010 mailbox database in your organization you can move these arbitration mailboxes to another mailbox database.
Move arbitration mailboxes:
[Code]
Get-mailbox –Arbitration | New-MoveRequest –TargetMailboxDatabase %TargetDatabase%
[/Code]
This will move the 3 Mailboxes to the mailbox database you have specified.
To check the status of the move request:
[Code]
Get-MoveRequest –Status
[/code]
This move request takes a very short time you will see that the move request has already finished by the time you checked the status. Once the move request has been completed you can clear the move request.
[Code]
Get-MoveRequest | Remove-MoveRequest
[/Code]
Now what if you want to reinstall your exchange server, and do not have an Mailbox database to move these Arbitration Mailboxes to?
If you are planning on reinstalling your Exchange Server, you need to keep these accounts to which these mailboxes are linked. These accounts are created when doing the domain prep for Exchange 2010.
Remove the Arbitration Mailboxes
[Code]
Get-Mailbox -Arbitration | Disable-Mailbox -Arbitration
[/Code]
By using the disable cmdlet, you will only remove the mailboxes and not the accounts which are linked to it.
Now if you are fed up with Exchange 2010 and want to remove the whole Exchange 2010 Environment, you can always remove the Arbitration Mailboxes and accounts:
[Code]
Get-Mailbox -Arbitration | Remove-Mailbox -Arbitration -RemoveLastArbitrationMailboxAllowed
[/Code]
You can now completely remove the Exchange 2010 from the mailbox server, and remove the remaining Exchange 2010 server.
Now what if you mistakenly have removed these arbitration accounts, and really want them back. Well than again you have several options:
You could always return these accounts from the Active Directory Tombstone using tools as ADRESTORE, QUEST Object Restore for Active Directory..., or off course rerun the PrepareAD switch from the Exchange 2010 Setup:
[Code]
Setup /prepareAD
[/Code]

Wednesday, March 24, 2010

Watch those recipient Policies!!!

Recipient policies can be a showstopper in an Exchange 2003 to Exchange 2010 migration process. Where the Exchange 2003 recipient policies make it impossible to install the Exchange 2010 mailbox server role or Exchange 2010 all together.

One issue is a known issue and has been documented by Microsoft. The issue is that the recipient policies have not been properly configured, in which certain domains are marked to be both authoritive and unauthoritive for the organization. This ussualy happends when you use mutiple recipient policies. It could be that a certain SMTP domains are marked Authoritive in one recipient policy while marked unauthoritive in another. More info can be found here: http://technet.microsoft.com/en-us/library/ee428168(EXCHG.80).aspx

Another issue (which has not been documented) that can arise is that the Exchange 2010 mailbox server failes to install successfully. The Exchange 2010 mailbox server role installation fails and reports following message:
[Quote]
Error:
The following error was generated when "$error.Clear(); $count=0; $ExchangeServers = Get-ExchangeServer -DomainController $RoleDomainController; $minVersion = New-Object -typeName Version -argumentlist "8.0.642.0"; foreach ($server in $ExchangeServers) { $currentVersion = [Version]$server.AdminDisplayVersion; if (($currentVersion -ge $minVersion) -and ($server.IsMailboxServer -eq $true)) { $count++; } } if ($count -eq 1) { Set-OrganizationConfig -DomainController $RoleDomainController; }" was run: "The number of subfilters exceeds maximum allowed number of 100. Processing stopped.".

The number of subfilters exceeds maximum allowed number of 100. Processing stopped.
[UnQuote]

When you check the Exchange setup logs you will see that the error occured when the setup checks the existing recipient policies:

Log File
[03/10/2010 14:43:29.0252] [2] [Microsoft Cmdlet Extension Agent] Found Address List "\".
........................
[03/10/2010 14:43:29.0517] [2] [Microsoft Cmdlet Extension Agent] Found Email Address Policy "XXXXXXXXXXX".
[03/10/2010 14:43:29.0517] [2] [Microsoft Cmdlet Extension Agent] Found Email Address Policy "XXXXXXXXXXX".
[03/10/2010 14:43:29.0845] [2] [ERROR] The number of subfilters exceeds maximum allowed number of 100. Processing stopped.

The issue occurs because one or more Recipient policies contain more than 100 “EnabledEmailAddressTemplates". Microsoft is aware of this limitation and will remove this limit in Exchange 2010 SP1 or SP1 Rollup1. To avoid this limitation, you have to make sure that no recipient policy contains more than 100 “EnabledEmailAddressTemplates". If this is the case, spread the templates over multiple recipient policies. Microsoft also advices to leave the default recipient policy untouched, in which it only contains the SMTP address and the default X500 address for the domain into which Exchange 2003 has been installed. Additional SMTP addresses have to be assigned in additional RecipĂ®ent policies, and not the default policy.

Monday, March 15, 2010

Dot in the Netbios name???

Currently i am working on a project to migrate Exchange 2003 to Exchange 2010. As in every project, there are always those things that catch your attention. Those things you know you will have to look into, otherwise they will tend to haunt you like a ghost through the remainings of the project.

Here in this project it is a ".", yes a simple dot which caught our attention. Now to be more specific, the customer netbios name is something like "domain.net". Do not get me wrong, it is not the DNS domain name I am talking about. But the pre Windows 2000 domain name which you specify in the initial creation of the domain.

Although not recommended, it is a fully supported setup by Microsoft. Right after it came to my attention I searched the internet to see if any issues where reported. And yes, I found a post on a forum in which someone bumped upon an issue which was allegedly caused by the dot in the netbios name.

http://office-outlook.com/outlook-forum/index.php/m/617127/#msg_617127

I spend some time looking for more smoking guns, or an official document from Microsoft, but all queries came up empty. So we waited to report the possible issue until it was time to install our first Exchange 2010 server role.

And yes after installing the first Exchange 2010, we also had the same issue as reported in the post. We are unable to open the Exchange Management Console, and are only able to manage the newly installed servers by the Exchange management Shell.

We opened a call with Microsoft 4 weeks ago, in which Microsoft confirmed that this issue is known and exists in Exchange 2010. Microsoft is working on a solution and will provide a patch or work around as soon as possible.
The issue will get a fix in rollup pack 4.

Microsoft has released a patch which is available on requested. This patch needs to be installed on all Exchange 2010 servers where you wish to use the Exchange Management Console. The patch is tagged with KB article number KB981033.

The installation of the patch does not require a reboot but does stops and starts the Exchange Services. Although a reboot is not required, i surely recommend a reboot. We saw several problems with IIS (.net frameworks and Powershell virtual directory) after installing the patch, these errors where solved after the system was rebooted.

We installed the patch on all our Exchange 2010 servers, to discover that Outlook Web Access will stop functioning after that the patch has been applied. When the patch is applied on the CAS array, Outlook Web Access will display a blank page. The Application and IIS logs however show that Outlook Web Access launched successfully.

After removing the patch Outlook Web Access regains functionality. We tried to reapply the patch to see if Outlook would loose its functionality again, and it did.

Well about a week later i opened the management console on one of the CAS servers and to my surprise, the management console still works... I find this most preauricular because when we installed the patch it was unclear where to install the patch. We installed in on one server tested the console which worked, logged in to another to see that the console did not function at that particular server. This made us believe that the patch needed to be installed on each and every exchange server. Well it seems that after installing the patch (because of the issues with OWA), the console still works.

Wednesday, March 3, 2010

Exchange 2010 Database Availibilty Groups in a virtual environment?

Kenneth van Ditmarsch wrote an interesting article about VMware Vmotion/Microsoft Live Migration and Exchange 2010 Database Availibility Groups.

Read about it here:
http://kennethvanditmarsch.wordpress.com/2009/11/20/vmotion-and-exchange-2010/

Saturday, December 12, 2009

OWA no longer working after applying Rollup Pack1 for Exchange 2010

I applied rolluppack 1 for Exchange 2010 on my test server and noticed that Outlook Web App was no longer functioning. As the Client access sever has still the self signed certificate i could get the warning when trying to access the website. But after pressing "continue annyway", only a blank page appears.

After uninstalling the rolluppack, Outlook Web App was functioning again. Reinstalled the rollup and yes, the issue returned. This proved that the update was causing the problem.

After running the UpdateCAS.ps1, the issue with Outlook Wab App seem to be resolved.
You can find the UpdateCAS.ps1 in the Bin folder in the Exchange Installation folder: Ussually C:\Program Files\Microsoft\Exchange\Bin\UpdateCAS.ps1.