Archive

Archive for the ‘Exchange’ Category

Campus Days update – my session is now available online

January 2nd, 2012 No comments

Back in October I did a session at Microsoft Campus Days in Copenhagen about Exchange 2010 and Forefront Protection for Exchange and Forefront Online Protection.

That session was recorded and is now available online as webcast. The session is in danish and available on TechNet DK: http://technet.microsoft.com/da-dk/edge/Hh690919

Let me know what you think.

Exchange 2010 – 420 4.2.0 RESOLVER.ADR.Ambiguous; ambiguous address

December 16th, 2011 No comments

This is notes from a recent troubleshooting case. The client received the error: 420 4.2.0 RESOLVER.ADR.Ambiguous; ambiguous address and a lot of messages ended up in the Submission queue with this error.

The error came after running GALsync. We have two Exchange 2010 forests and was running GALsync between the two. Forest A (contoso) was using one address space (contoso.dk) and Forest B (nwtraders) was using several address spaces (nwtraders.dk, litware.dk etc).

Everything working fine between contoso.dk and nwtraders.dk, the two main address spaces, but the problem with 420 4.2.0 RESOLVER.ADR.Ambiguous; ambiguous address, came when trying to send to address space litware.dk from Forest A.

The error was caused by duplicate SMTP proxy addresses.

I have seen it before where GALsync created a contact during a sync to the target forest even though the user was already migrated to the target forest. Then we have the both a mail contact and mail user had the same SMTP address and messages to this user will be queued.

In this case the issue was quite similar, although the client had created the extra mail user themselves and when GALSync created the mail contact, the problem came.

The solution was to clean up in the proxy addresses of the two objects (mail user and mail contact) and good way of checking this is using ADSI Edit to see and confirm the proxy addresses of the objects.

Exchange 2010 Service Pack 2 Released!

December 5th, 2011 No comments

Exchange 2010 SP2 has finally been made available as download by the Exchange Team, this download is long awaited by many, because of the many new cool features, such as:

  • Outlook Web App (OWA) Mini
  • Cross-Site Silent Redirection
  • Hybrid Configuration Wizard
  • Address Book Policies
    Read more about the new SP2 features in one of my older blog posts: .
    The SP2 sets new pre-requirements to Windows, to install and upgrade from SP1. It requires an additional Windows role, which was not part of the SP1 pre-requirements. Which is:IIS 6 WMI Compatibility” not being installed. Which is:

  • IIS 6 WMI Compatibility
    To install this before starting the SP2 install/upgrade, start a PowerShell and run:

  • Import-Module ServerManager
  • Add-WindowsFeature Web-WMI

This Windows role is required for Mailbox and CAS roles.

UPDATED: Exchange Team Blog: Released: Exchange Server 2010 SP2.

Download the Exchange 2010 SP2 here.

Categories: Exchange Tags:

How to copy Online Archive data back into the mailbox

November 1st, 2011 No comments

Here are some field notes from a recent Exchange 2010 Retention and Archive case. We had to get data back from the Online Archive and back into the users mailbox, to it’s original location.

There are several ways of getting data back from an Exchange Online Archiving into the Mailbox of the user. One way is having the user copy the data back manually from his/her archive into their inbox using drag and drop.

Another way, which is described in this post – is to do it centrally on the Exchange 2010 Server using the New-MailboxExportRequest and New-MailboxImportRequest PowerShell commands.

To get statistics about the Archive content, see my blog post: Exchange 2010 Archive Mailbox Statistics PowerShell script.

Permissions to use the cmdlets

Make sure you have the permissions to run the Export and Import cmdlets.

Run the Exchange Management Shell elevated as Administrator

If your account does not have permissions to run the New-MailboxExportRequest and New-MailboxImportRequest cmdlets, then run the follow RBAC command:

New-ManagementRoleAssignment -Role "Mailbox Import Export" –User Domain\AdminAccount

 

Export the archive to a PST file

The mailbox used in the example below is “IT”.

Run the following cmdlet to Export the Online Archive of the mailbox IT to a PST file located on a fileshare:

New-MailboxExportRequest –Mailbox IT  -IsArchive -FilePath \\fileshare\PST\ITarchive.pst

It is important to remember the parameter “-IsArchvie” which states that it is the online archive of the IT mailbox that gets exported.

Check status of the Export using the cmdlet:

Get-MailboxExportRequest

 

 

Import the exported PST file into the mailbox

The mailbox used in the example below is still “IT”.

Run the following cmdlet to Import the PST file (containing the Online Archive) into the IT mailbox and to the original location of the content:

New-MailboxImportRequest -Mailbox IT -FilePath \\fileshare\PST\ITarchive.pst

If you want to import the content of the PST file into e.g. a specific folder within the mailbox, use this command instead:

New-MailboxImportRequest -Mailbox IT -FilePath \\fileshare\PST\ITarchive.pst -TargetRootFolder "RecoveredFiles"

Check status of the Export using the cmdlet:

Get-MailboxImportRequest

 

Reference information about using Export and Import cmdlets

Here is some reference information about using those cmdlets below:

PowerPoint from Microsoft Campus Days (Oct. 2011)

October 18th, 2011 No comments

Last week I had the honor of presenting at Microsoft Campus Days 2011 in Copenhagen.

The session topic was about Exchange 2010 and integration with Forefront Online Protection for Exchange (FOPE) and Forefront Protection for Exchange (FPE).

The session was recorded (In Danish) and will be available from Microsoft soon. I will post a link to the recording when it is available.

image

For now I have made the slides (PowerPoint) for you…

Session P14: Exchange 2010 and Forefront Online
Download slides here from my Skydrive.

Exchange 2010 Archive Mailbox Statistics PowerShell script

September 29th, 2011 No comments

Here are some field notes from a recent Exchange 2010 Retention and Archive case.

I have made a simple Exchange 2010 PowerShell script Get-ArchivedMBStats.ps1, that shows mailbox statistics for all mailboxes that have Online Archive enabled. It is great for following the progress of archiving of individual mailboxes.

The output of the script is the following information about each mailbox with archive enabled:

  • Mailbox Display Name
  • Mailbox TotalItemSize (MB)
  • Mailbox ItemCount
  • Mailbox Database
  • Mailbox RetentionPolicy
  • Archive Display Name
  • Archive TotalItemSize (MB)
  • Archive ItemCount
  • Archive Database
        The output is show as:

      Display Name    TotalItemSize (MB)   ItemCount    Database      RetentionPolicy
      ————    —————–    ———    ——–      —————
      Peter Schmidt                 147         3572      EXDB01    Default Archive..
      Online Archive – Pet…       430         4798      ARDB01

    Here is the code (download as zip at the end of the article):

    ###########################################################################
    #
    # NAME: Get-ArchivedMBStats.ps1
    #
    # AUTHOR: Peter Schmidt
    # EMAIL: peter@msdigest.net
    #
    # COMMENT: Shows all mailboxes that are enabled for Online Archvie in Exchange 2010. Output shows both Mailbox and Archived Mailbox statistics.
    #
    # You have a royalty-free right to use, modify, reproduce, and
    # distribute this script file in any way you find useful, provided that
    # you agree that the creator, owner above has no warranty, obligations,
    # or liability for such use.
    #
    # VERSION HISTORY:
    # 1.0 2011.09.29 - Initial release
    #
    # OUTPUT EXAMPLE:
    #	Display Name                 TotalItemSize (MB)               ItemCount Database                RetentionPolicy
    #	------------                 ------------------               --------- --------                ---------------
    #	Peter Schmidt                               147                    3572 EXDB01                  Default Archive and ...
    #	Online Archive - Pet...                     430                    4798 ARDB01
    #
    # HOW TO RUN:
    #	.\Get-ArchivedMBStats.ps1 | ft
    #
    # INPUTS:
    #	None. You cannot pipe objects to this script.
    #
    ###########################################################################
    
    $combCollection = @()
    
    Write-Host "`nPlease wait...`n"
    
    $archiveMailboxes = Get-Mailbox | where {$_.ArchiveDatabase -ne $null} | Select Identity, RetentionPolicy
    
    ForEach ($mbx in $archiveMailboxes)
    {
    	$mbxStats = Get-MailboxStatistics $mbx.Identity | Select DisplayName, TotalItemSize, ItemCount, Database
    	$archiveStats = Get-MailboxStatistics $mbx.Identity -Archive | Select DisplayName, TotalItemSize, ItemCount, Database
    
    	$mbcomb = "" | Select "Display Name", "TotalItemSize (MB)", ItemCount, Database, RetentionPolicy
    	$archcomb = "" | Select "Display Name", "TotalItemSize (MB)", ItemCount, Database
    
    	$mbcomb."Display Name" = $mbxStats.DisplayName
    	$mbcomb."TotalItemSize (MB)" = [math]::round($mbxStats.TotalItemSize.Value.ToMB(), 2)
    	$mbcomb.ItemCount = $mbxStats.ItemCount
    	$mbcomb.Database = $mbxStats.Database
    	$mbcomb.RetentionPolicy = $mbx.RetentionPolicy
    	$archcomb."Display Name" = $archiveStats.DisplayName
    	$archcomb."TotalItemSize (MB)" = [math]::round($archiveStats.TotalItemSize.Value.ToMB(), 2)
    	$archcomb.ItemCount = $archiveStats.ItemCount
    	$archcomb.Database = $archiveStats.Database
    
    	$combCollection += $mbcomb
    	$combCollection += $archcomb
    	$combCollection += "`n"
    }
    write-output $combCollection
    Write-Host "`nList of archived mailboxes done...`n" -Foregroundcolor Green
    

     

    Download script here: Get-ArchivedMBStats.ps1.zip

    Test sending mail to your SMTP connector using Powershell

    September 26th, 2011 No comments

    As a consultant I often test SMTP connectors on Exchange. 

    There are several ways of doing this. There is the good old way of using telnet, ExchangePro has a great article describing the Telnet way of testing you SMTP connection:

    The other way of testing if a SMTP connector works on Exchange (2007/2010), could be using PowerShell. In PowerShell 2.0 there is a builtin cmdlet cmdlet: Send-MailMessage

    You can run the following command in PowerShell to do some mail testing:

    Send-MailMessage –From sender@testserverdomain.com –To recipient@recipientdomain.com –Subject “Test Email” –Body “Test E-mail (body)” -SmtpServer smtpserver.fqdndomain.local

    This only works for PowerShell V2, since the command is now builtin.

    Cannot remove Public Folder database from Exchange 2007 server

    September 19th, 2011 No comments

    Here is some notes from a recent issue error, I encountered at a client, doing a decommission of some Exchange 2007 servers.

    We had followed the best practices for moving Public Folder database content to new Public Folder databases. But still could not remove the Public Folder databases on some of the Exchange 2007 servers.

    The best practices for removing a Public Folder database is:

    1. Move the public folder replicas to another server. See my previous post about Public Folder replica management.

    2. Associate mailbox databases with another public folder database.

    3. Remove the PF database and delete the database files manually.

     

    This error you might see in step 3, when trying to remove the Public Folder database is:

    ——————————————————–
    Microsoft Exchange Error
    ——————————————————–
    The public folder database ‘Public Folder Database’ cannot be deleted.

    Public Folder Database
    Failed
    Error:
    The public folder database "SERVERNAME\Second Storage Group\Public Folder Database" contains folder replicas. Before deleting the public folder database, remove the folders or move the replicas to another public folder database. For detailed instructions about how to remove a public folder database, see http://go.microsoft.com/fwlink/?linkid=81409.

    ——————————————————–
    OK
    ——————————————————–

     

    If you have followed the best practices and you still cannot remove the Public Folder, check which folders still reside in the database, using:

    Get-PublicFolderStatistics –Server SERVERNAME

     

    If the folders left are folders you care about, you should continue troubleshooting replication issues. But if the folders are leftover that you know have been replicated or if it is system folders, such as OWAScratchPad, you can remove them using:

    Get-PublicFolderStatistics –Server SERVERNAME | Remove-PublicFolder

     

    Be careful with the above command, since it removes everything left within your Public Folder database.

    Now you should be able to Remove the Public Folder database from you Exchange 2007 server.

    Other great references on the issue: