John Yassa's Blog

Home » 2012 » May

Monthly Archives: May 2012

Exchange 2010 SP1 or SP2 OWA page not load after IIS reset

If you make a change in IIS, you need to reset IIS you just simply do IISRESET
This works on all other OWA or other servers, but on Exch2010SP1 or Exch2010SP2 after IISRESET owa page will not load,
after reboot the server all works fine.

IISReset.exe fails to stop the IIS services in a timely fashion. With the /NOFORCE switch included, IISReset.exe will not attempt to forcibly shut down the IIS services if the services do not stop gracefully.

Instead of using IISRESET you use net stop and net start command as below

C:\>NET STOP w3svc
The World Wide Web Publishing Service service is stopping.
The World Wide Web Publishing Service service was stopped successfully.
C:\>NET START w3svc
The World Wide Web Publishing Service service is starting.
The World Wide Web Publishing Service service was started successfully.

To stop and start the IIS Admin Service, run the following commands:
C:\>NET STOP iisadmin /y
The following services are dependent on the IIS Admin Service service.
Stopping the IIS Admin Service service will also stop these services.
World Wide Web Publishing Service HTTP SSL

The World Wide Web Publishing Service service is stopping.
The World Wide Web Publishing Service service was stopped successfully.
The HTTP SSL service is stopping. The HTTP SSL service was stopped successfully.
The IIS Admin Service service is stopping..
The IIS Admin Service service was stopped successfully.

C:\>NET START w3svc
The World Wide Web Publishing Service service is starting.
The World Wide Web Publishing Service service was started successfully.



Can’t mount Database with error ,Unable to mount database. (hr=0x80004005, ec=-550)

Couldn’t mount the database that you specified. Specified database: DB2; Errorcode: An Active Manager operation failed. Error: The database action failed. Error: An error occurred while trying to select a database copy for possible activation. Error: The database ‘DB2’ was not mounted because errors occurred either while validating database copies for possible activation, or while attempting to activate another copy. Detailed error(s):

An Active Manager operation failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-550)

Before you can mount a database restored from a backup, it needs to be in a clean shutdown state. You can use the Eseutil tool to check whether a database is in a clean shutdown state – if it is not in a clean shutdown state you can perform a repair to get the database into consistency.

Soft Recovery using Eseutil

The first thing you want to do is verify that the database is in a dirty shutdown state. We can do this using the eseutil /mh command. For example:

the output should be as below:

as long as you can it shows that the DB is closed dirty shut down
also you can see the logs that is missing
we can replay the log files into the DB (if they only exist) using the command eseutil /r /l /d

For example, my log file prefix is E03, and my database and logs are stored in G:\E_\Program Files\Microsoft\Exchange Server\V14\Mailbox\DAGDB1

after it finsihed you can the first command eseutil /mh to confirm that the DB is now in clean shut down state

if after these steps , you try to mount the DB  if it fails to mount then you will have to do a hard repair using the command  eseutil /p

after it finsihed you can the first command eseutil /mh to confirm that the DB is now in clean shut down state , then try to mount the DB , it should mount with you with no problem

An old password still works after you change it in Outlook Web Access

Assume that a user changes their password in Outlook Web Access (OWA) in one of the following versions of Microsoft Exchange Server:

  • Microsoft Exchange Server 2010
  • Microsoft Exchange Server 2007
  • Microsoft Exchange Server 2003

In this case, you may notice a 15-minute period during which the user can log on to their mailbox by using either the old password or the new password. However, if the user uses a MAPI client (such as Microsoft Outlook) to access the mailbox or if the user tries to access other files and resources, the user is authenticated only if they use the new password.

This latency exists by design for Internet Information Services (IIS) performance reasons and is controlled by the following registry setting.
Warning   If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

  1. Start Registry Editor (Regedt32.exe) on the server that is running IIS and through which the user gains access to OWA.
  2. Locate the following key in the registry:
  3. On the Edit menu, click Add Value, and then add the following registry value:
    Value Name:  UserTokenTTL   (Note This is case-sensitive!) Data Type:   REG_DWORD Value Range: 0 – 0x7FFFFFFF (Note This unit is in seconds.)
  4. Exit Registry Editor, and then restart IIS.

create bulk of mailboxes in exchange 2010 / 2007

-If you need to craete a bulk of users in exchange 2010/2007 , you will have to use the EMS

-The followin command will allow you to enter a password that will be common for all next created users
$Password=Read-Host “Enter Password” -AsSecureString

-Create a CSV file with the below header containning the requires infor for each user

-Run the below command and give him the path of the created CSV file
Import-Csv “CSV file path”|foreach {new-mailbox -Alias $_.Alias -FirstName $_.FirstName -LastName $_.lastName -UserPrincipalName $_.UPN -name $ -DisplayName $_.Displayname -OrganizationalUnit $_.OrganizationalUnit -ResetPasswordOnNextLogon $true -password $password}

-You will find all the users created divided randonly among availiable DB with password you provided in the first command with unlimited Quota

Get Mailboxes size for users in a specified OU (VB Script)

‘this is a VB script that got the OU variable and an array of Back end servers , and iterates every server and match the users with the users in the OU

‘Option Explicit

‘On Error Resume Next

Dim ServerList                  ‘ List of computers to check

Dim server                                          ‘ Current computer to check

Dim fso                                                                ‘ File System Object

Dim strWinMgmts                                           ‘ Connection string for WMI

Dim objWMIExchange                   ‘ Exchange Namespace WMI object

Dim listExchange_Mailboxs        ‘ ExchangeLogons collection

Dim objExchange_Mailbox                          ‘ A single ExchangeLogon WMI object

Dim logfile                                         ‘ Output file

Dim ou1

Dim provider

Dim objParent

Dim WshShell

Dim objUser

‘Set objParent = GetObject(provider & ou1)

ou1 = “OU LDAP Path”

provider = “LDAP://”

Const cWMINameSpace = “root/MicrosoftExchangeV2”

Const cWMIInstance = “Exchange_Mailbox”

Const LOG_FILE = “EMailSize.csv”

set objParent = GetObject(provider & ou1)

objParent.Filter = Array(“user”)


‘ Set up the email servers


ServerList  = Array(“Mailbox server 1″,”Mailbox server 2”)


‘ Set up log file


set fso = CreateObject(“Scripting.FileSystemObject”)

Set logfile = fso.CreateTextFile(LOG_FILE)

logfile.WriteLine(“””Display Name””,””Mailbox Size””,””Mailbox TotalItems””,””Mailbox StoreName””,””Mailbox ServerName””,””Mailbox LegacyDN”””)

‘ Create the object string, indicating WMI (winmgmts), using the
‘ current user credentials (impersonationLevel=impersonate),
‘ on the computer specified in the constant cComputerName, and
‘ using the CIM namespace for the Exchange provider.

WScript.Echo “Starting now”

‘The rest of the script will fetch mailbox sizes for our servers. Mailbox sizes are in Kilobytes.

For Each server in ServerList

WScript.Echo “Starting ” & server & ” search.”

strWinMgmts = “winmgmts:{impersonationLevel=impersonate}!//” & server & “/” & cWMINameSpace

‘WScript.Echo strWinMgmts

Set objWMIExchange =  GetObject(strWinMgmts)

‘ Verify we were able to correctly set the object.

If Err.Number <> 0 Then

WScript.Echo “ERROR: Unable to connect to the WMI namespace.”


‘The Resources that currently exist appear as a list of

‘Exchange_Mailbox instances in the Exchange namespace.

Set listExchange_Mailboxs = objWMIExchange.InstancesOf(cWMIInstance)

‘ Were any Exchange_Mailbox Instances returned?

If (listExchange_Mailboxs.count > 0) Then

‘ If yes, do the following:
‘ Iterate through the list of Exchange_Mailbox objects.

For each objUser in objParent

For Each objExchange_Mailbox in listExchange_Mailboxs
‘logfile.writeline(“””legacyExchangeDN””,”& objUser.legacyExchangeDN &””)’ ‘logfile.writeline(“””legacyDN””,”& objExchange_Mailbox.LegacyDN &””)

If  ucase(objUser.legacyExchangeDN) = ucase(objExchange_Mailbox.LegacyDN) then

‘ Display the value of the Size property.
wscript.echo “Matched”
wscript.echo objUser.legacyExchangeDN

logfile.WriteLine(“””” & objExchange_Mailbox.MailboxDisplayName & “””,””” & objExchange_Mailbox.Size & “””,””” & objExchange_Mailbox.TotalItems & “””,””” & objExchange_Mailbox.StoreName & “””,””” & objExchange_Mailbox.ServerName & “””,””” & objExchange_Mailbox.LegacyDN & “”””)






‘ If no Exchange_Mailbox instances were returned, display that.

WScript.Echo “WARNING: No Exchange_Mailbox instances were returned.”

End If

End If


Wscript.Echo “Completed”

Mail stuck in queue with status “messages with unreachable destination”

Messages in this queue cannot reach their final destination server. For example, Exchange cannot determine a route or a connector to the final destination, or all available routes or connectors are marked as down.

Messages can accumulate in this queue if no route exists for message delivery. Also, if an Exchange connector or a remote delivery queue is unavailable or if it is in a retry status for a while, and no alternative available route exists to the connector or the remote destination, new messages may be moved to this queue. The administrator can then address the problem or define an alternative route.  Use the WinRoute tool to help determine available routes and route status.

To troubleshoot the queue that is causing this issue, restart the SMTP Virtual Server to reset the connector status and to retry the  messages that are queued. To restart the SMTP virtual server, follow these steps:

  1. Click Start, point to Programs, point to Microsoft Exchange,    and then click System Manager.
  2. Expand the Servers container, expand your Exchange Server computer, expand    Protocols, and then expand SMTP.
  3. Right-click the SMTP virtual server, and then click Stop.
  4. Right-click the SMTP virtual server    again, and then click Start.

Some DNS name queries are unsuccessful after you deploy a Windows Server 2008 R2-based DNS server

After you deploy a Windows Server 2003 or Windows Server 2008 R2-based DNS server, DNS queries to some domains may not be resolved successfully

This issue occurs because of the Extension Mechanisms for DNS (EDNS0) functionality that is supported in Windows Server 2003 DNS.
EDNS0 permits the use of larger User Datagram Protocol (UDP) packet sizes. However, some firewall programs may not permit UDP packets that are larger than 512 bytes. As a result, these DNS packets may be blocked by the firewall.

To work around this issue, turn off the EDNS0 feature on Windows Server 2003 and Windows Serve 2008 R2 DNS Servers. To do this, follow these steps
For Windows Server 2008 R2

  • DNSCMD is installed by default on Windows Server 2008 R2 DNS Servers. At a command prompt, type the following command, and then press ENTER:
    dnscmd /config /enableednsprobes 0
    Note Type a 0 (zero) and not the letter “O” after “enableednsprobes” in this command.

For More Info:

Exchange 2010 SP2 ……..what’s new ?

This topic provides you with an overview of important new features and functionality in Service Pack 2 (SP2) for Microsoft Exchange Server 2010

1- Hybrid Configuration Wizard

Exchange 2010 SP2 introduces the Hybrid Configuration Wizard which provides you with a streamlined process to configure a hybrid deployment between on-premises and Office 365 Exchange organizations. Hybrid deployments provide the seamless look and feel of a single Exchange organization and offer administrators the ability to extend the feature-rich experience and administrative control of an on-premises organization to the cloud. For more information

For more info

2- Federated Delegation

In Exchange 2010 SP1, we recommended that organizations create a sub-domain of “exchangedelegation” for the account namespace in their federation trust with the Microsoft Federation Gateway. Now, in Exchange 2010 SP2, we have updated our recommendation and also automated the configuration process. If you use the Manage Federation or Manage Hybrid Configuration wizards when configuring a new federation trust, a pre-defined string is now automatically combined with an accepted domain for your organization and assigned as the account namespace for the federation trust. The account namespace for an existing federation trust is not modified by these wizards

For more info

3- Address Book Policies

Exchange 2010 SP2 introduces the address book policy object which can be assigned to a mailbox user. The ABP determines the global address list (GAL), offline address book (OAB), room list, and address lists that are visible to the mailbox user that is assigned the policy. Address book policies provide a simpler mechanism to accomplish GAL separation for the on-premises organization that needs to run disparate GALs

For more info

4- Cross-Site Silent Redirection for Outlook Web App

With Exchange 2010 SP2, you can enable a silent redirection when a Client Access server receives a client request that is better serviced by a Client Access server located in another Active Directory site. This silent redirection can also provide a single sign-on experience when forms-based authentication is enabled on each Client Access server

For more info

5- Mini Version of Outlook Web App

The mini version of Outlook Web App is a lightweight browser-based client, similar to the Outlook Mobile Access client in Exchange 2003. It’s designed to be used on a mobile operating system. The mini version of Outlook Web App provides users with the following basic functionality:

  • Access to e-mail, calendar, contacts, tasks and the global address list.
  • Access to e-mail subfolders.
  • Compose, reply to, and forward e-mail messages.
  • Create and edit calendar, contact, and task items.
  • Handle meeting requests.
  • Set the time zone and automatic reply messages

For more info

6- Mailbox Replication Service

In Exchange 2010 SP1, if you wanted to move mailboxes from on-premises to or to another forest, you had to enable MRSProxy on the remote Client Access server. To do this, you had to manually configure the web.config file on every Client Access server. In Exchange 2010 SP2, two parameters have been added to the New-WebServicesVirtualDirectory and Set-WebServicesVirtualDirectory cmdlets so that you don’t have to perform the manual configuration: MRSProxyEnabled and MaxMRSProxyConnections

For more info

7- Mailbox Auto-Mapping

In Exchange 2010 SP1, Office Outlook 2007 and Outlook 2010 clients can automatically map to any mailbox to which a user has Full Access permissions. If a user is granted Full Access permissions to another user’s mailbox or to a shared mailbox, Outlook, through Autodiscover, automatically loads all mailboxes to which the user has full access. However, if the user has full access to a large number of mailboxes, performance issues may occur when starting Outlook. Therefore, in Exchange 2010 SP2, administrators can turn off the auto-mapping feature by setting the value of the new Automapping parameter to $false on the Add-MailboxPermission cmdlets

For more info

8- Multi-Valued Custom Attributes

Exchange 2010 SP2 introduces five new multi-value custom attributes that you can use to store additional information for mail recipient objects. The ExtensionCustomAttribute1 to ExtensionCustomAttribute5 parameters can each hold up to 1,300 values. You can specify multiple values as a comma-delimited list.The following cmdlets support these new parameters:

  • Set-DistributionGroup
  • Set-DynamicDistributionGroup
  • Set-Mailbox
  • Set-MailContact
  • Set-MailPublicFolder
  • Set-RemoteMailbox

9- Litigation Hold

In Exchange 2010 SP2, you can’t disable or remove a mailbox that has been placed on litigation hold. To bypass this restriction, you must either remove litigation hold from the mailbox, or use the new IgnoreLegalHold switch parameter when removing or disabling the mailbox. The IgnoreLegalHold parameter has been added to the following cmdlets:

  • Disable-Mailbox
  • Remove-Mailbox
  • Disable-RemoteMailbox
  • Remove-RemoteMailbox
  • Disable-MailUser
  • Remove-MailUser

10- Multi-Tenant Support

Exchange 2010 SP1 introduced the ability to install in a hosting mode by using the /hosting switch when running the installation script. However, in Exchange 2010 SP2, we no longer recommend installing Exchange using the /hosting switch

For more info

%d bloggers like this: