If you’re installing Exchange 2007 SP1 on Windows 2008 R2 you may run across the error: “The system cannot find the file specified”
If you examine the setup log located at C:\ExchangeSetupLogs\ExchangeSetup.log and find that the file referenced is ldifde.exe you’ll need to install Active Directory Domain Services from Server Manager. This is accomplished by loading Server Manager from Start -> Administrative Tools -> Server Manager, selecting Add Roles and then checking the box for Active Directory Domain Services.
Once the Active Directory Domain Services installation is completed, re-run the Exchange 2007 SP1 Setup Wizard.
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
Another quick script, this one finds all databases located on Exchange 2010 servers with a status of ‘FailedAndSuspended’ and then reseeds them. Since this scripts makes changes to the systems, instead of just reading information, all activities are logged via PowerShell’s transcript feature. You’ll need to change the path in the 5th line of the script to reflect an actual location on your system.
Note that there are other options besides a reseed, this just makes the most sense the majority of the time.
add-pssnapin *0* -ErrorAction SilentlyContinue
$startstring="Start script run at: "
$startendtime=date
$startannounce=$startstring+$startendtime
Start-Transcript -Append -Force -Path 'C:\<path>\DBHealthFix.log'
$startannounce
#gets list of mailboxservers, locates 2010 servers, gets db copy status, finds copies that are failed, updates failed copies
$mailboxservers = get-mailboxserver | get-exchangeserver | ?{$_.IsE14OrLater -eq 'True'}
foreach ($mailboxserver in $mailboxservers){
get-mailboxdatabasecopystatus -Server $mailboxserver.name | ?{$_.Status -like 'FailedAndSuspended'} | update-mailboxdatabasecopy -deleteexistingfiles -confirm:$false
}
stop-transcript
Here are some screenshots of what happens along the way:
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
Just a quick script that checks your databases. Anything besides ‘Healthy’ or ‘Mounted’ should probably be investigated. :)
Add-PSSnapin *0* -ErrorAction SilentlyContinue
$mailboxservers = get-mailboxserver | get-exchangeserver | ?{$_.IsE14OrLater -eq 'True'}
$A = (get-host).UI.RawUI
$A.WindowTitle = "Database Health Check"
$B = $A.windowsize
$B.width = 110
$B.height = 30
$A.WindowSize = $B
while ($true) {cls; foreach ($mailboxserver in $mailboxservers){Get-MailboxDatabaseCopyStatus -Server $mailboxserver.name | ft -AutoSize Name,*Status,ContentIndexState,CopyQueueLength,ReplayQueueLength} ;sleep 5}
This it the output, refreshed every 5 seconds:

An example of when databases are actually doing something:
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
How to Configure Change Password for OWA 2003/2007/2010 Mixed Environments http://bit.ly/8avxgZ
Making sense of Exchange Logs using ExLogAnalyzer http://bit.ly/8zZHIn
How Much The Average American Can Save On Taxes By Having A Business http://bit.ly/88g00b
Choosing a disk configuration for your Exchange Server 2007 storage http://bit.ly/7rSi3z
Personal Marketing and Social Media http://bit.ly/5uPoYC
Microsoft to issue emergency IE patch Thursday http://bit.ly/8SwtEw
Data Privacy Day: 1/28/10 http://bit.ly/5IPhgW
Support for Windows XP SP2 and Windows 2000 ends on July 13, 2010 http://bit.ly/5YJFuE
I love the new Deployment Assistant http://bit.ly/4Y4Fql
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
I’ve had a number of clients ask me whether this was possible, especially the ‘restrict contractors to just certain domains’ part.
This is definitely worthwhile knowledge that you should run through in your Exchange 2010 lab. You do have a lab running Exchange 2010, right? (Not that I’m anyone to talk about it, I have a brand new PowerEdge sitting on the floor of my office waiting to be built right now)
You requested it… and we delivered it in Exchange 2010!
One of the most requested items in exchange 2007 was something like this…
…we have 5-12 external domains that we need to allow some users to send to, but prevent sending to all other domains…
Or like this…
…we need a way to allow everyone to send to the internet but restrict members of 'contract workers group' to just certain domains.
This blog post is meant to show how easy it now is to accomplish this oft heard request in Exchange 2010. Transport rules, introduced with Exchange 2007, provided a lot of new options for administration of mail resulting in even more requests for additional functionality. The rules now have new predicates and actions extending the possibilities of what can be done.
In particular, the predicates for address matching that were previously only available on the Edge role are now available for Hub role as well!
For more information about the new predicate and actions read the whole blog post @ You Had Me At EHLO… : Restricting email to the Internet on a per user AND per domain basis.
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
Ctrl P – The Data Protection Manager Blog! : DPM 2010 Protecting Exchange 2010 DAG in a Single Site.
A very good blog post on using DPM to backup Exchange 2010 DAGs. They cover JBOD vs RAID for the DPM server itself, Point in Time recovery for lagged copies vs DPM and a few reasons why you should consider DPM.
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
Last Thursday night I had the distinct privilege of participating in a real life Exchange 2010 disaster recovery scenario. Roughly 41,000 mailboxes on 22 databases had the DAG ripped out from underneath them accidentally. When I say ‘ripped out from underneath them’ I mean literally that; everything was removed, including all the cluster resources and mailbox servers. As far as AD was concerned these servers didn’t even exist. All we had left was the .edb files, catalog indexes and log files. The solution? Database portability.
Even though this was essentially a test environment, there were a number of live mailboxes that simply had to be recovered and we wanted to recover them all. The steps we took were rather straightforward;
1 | Find some live mailbox servers that had the spare capacity to mount 22 databases. Split the list of databases to be mounted among them.
2 | For each mailbox server, copy over the database and log directories so we had the data to use.
3 | Perform a soft recovery with eseutil /r on each database/log set to commit any uncommitted log files and ensure we could actually mount the data later in the process.
4 | Create the new mailbox databases: new-mailboxdatabase -name <name> -server <server> -EdbFilePath <path to recovery folder, e.g. c:\RecoverDBs\RecoverDB1\<name of original edb>.edb> -LogFilePath <path to logs, e.g. c:\RecoverDBs\RecoverLogs1>
Pro Tip: Use a new name for the database. If the old database was named DAG1-DB001, you might use DAG1-RecoveryDB001.
5 | Set the newly created databases to allow file restore: set-mailboxdatabase <db name> -AllowFileRestore:$true
6 | Copy in the database, logs and catalog data to the correct folders (those specified in step 4)
7 | Mount the databases one at a time: mount-database <DatabaseName>
8 | Once the database is mounted we can now re-home all the users with mail data there: get-mailbox -database <OriginalDatabaseName> | ?{$_.ObjectClass -NotMatch ‘(SystemAttendantMailbox|ExOldDbSystemMailbox)’} | set-mailbox -database <RecoveryDatabaseName>
9 | If you’re running with multiple copies then keep in mind that you’ve only got one live copy of the new database. You can either add a copy of the new database or do what we did and move them to databases on your new DAG that (hopefully) has multiple copies already. If you choose to go the route of moving them to existing healthy databases the command is: get-mailbox -database <RecoveryDatabaseName> | new-moverequest -TargetDatabase <HealthyDatabaseName>
Comments and/or questions are welcome in the comments. I just wrote this from memory so if I missed anything along the way please let me know.
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
While ISA 2006 SP1 includes a Client Access Web Publishing Wizard for both Exchange 2003 and Exchange 2007, the wizard does not have any knowledge of Exchange 2010. Exchange 2010 includes the following changes with respect to its URLs and virtual directories:
- Exchange 2010 Client Access Servers (CAS) no longer utilize the /exchweb virtual directory.
- Exchange 2010 CAS no longer utilizes the /unifiedmessaging virtual directory.
- Exchange 2010 CAS provides a new solution for managing end user configuration (e.g. Unified Messaging settings), end user self-service (e.g. message tracking), and organization-specific activities (e.g. records discovery), known as the Exchange Control Panel. This service is provided via the /ecp virtual directory and is accessible directly or through Outlook Web Access.
- Exchange 2010 CAS does not render data from legacy mailboxes. Instead, depending on the protocol and/or client, Exchange 2010 CAS will either proxy, redirect, or provide direct access to the appropriate version of Exchange (Exchange 2003 Front-End, Exchange 2007 CAS, or Exchange 2003/2007 Mailbox). Redirected clients access their information via a new namespace, legacy.contoso.com. For more information, please see the post entitled, Transitioning Client Access to Exchange 2010.
As a result of these changes, certain modifications must be made to the rules created by the Client Access Web Publishing Wizard to support Exchange 2010. This article, the final one in my upgrade series, will discuss how to configure ISA 2006 SP1 as part of your deployment of Exchange 2010 in your existing Exchange 2003 or Exchange 2007 environments so that you may successfully allow your clients to connect to both Exchange versions.
Note: For more information on the detailed steps required to support coexistence process see my first blog article in the series, TechNet, or within the Deployment Assistant.
While this article will not cover every scenario possible (e.g. specifics on each authentication solution), it will provide basic steps that you can follow to ensure you have a successful deployment.
Hit the via link to read the whole article. Personally I’m a big fan of Forefront Threat Management Gateway 2010 but for those who still have ISA 2006 for some odd reason this article should prove helpful.
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
As the volume of e-mail continues to grow within organizations, the need to systematically archive this information has become a growing priority. Archiving can provide users a better e-mail experience by making space in a user’s mailbox, which can result in improved performance. Archiving also helps the organization to address compliance and legal electronic discovery requirements by making e-mail easy to manage and search. To address these needs, Exchange Server 2010 now features new archiving capabilities that combine with other enhanced mailbox management features, including advanced, multi-mailbox search, legal hold and granular retention polices to provide a comprehensive solution. Easy-to-use and deploy, this built-in functionality helps organizations reduce reliance on separate archiving solutions and simplify legal and compliance processes.
Functional Descriptions
Personal Archive: An additional mailbox associated with a user’s primary mailbox. It appears alongside the primary mailbox folders in Outlook. The user has direct access to e-mail within the archive just as they do to their primary mailbox. Users can drag and drop PST files into the Personal Archive, for easy online access – and efficient discovery by the organization. Users can also move e-mail items from the primary archive to the Personal Archive automatically, using Retention Polices, to reduce the size and improve the performance of the primary mailbox. In addition, users can search both their Personal Archive and primary mailbox simultaneously using Outlook.
Retention policies: These apply retention settings to specific items or folders in a mailbox. Policies are configured by the Exchange Administrator and are displayed inside each e-mail, with a header that states the applied policy and delete date. These headers make it easier for end users to identify when an e-mail is set to expire and apply a new expiration policy if the e-mail should be retained for a longer full stop. Administrators can also set a default policy that can move messages from the primary mailbox to the Archive automatically.
Multi-Mailbox Search: Multi-mailbox searches of mailbox items, including e-mail, attachments, calendar items, tasks, and contacts as well as IRM-protected files. Multi-mailbox search works simultaneously across both primary mailboxes and Personal Archives with an easy-to-use control panel. This enables authorised HR, legal and compliance users to perform searches without reliance on IT. For legal discovery purposes, mail located through a search can be copied and moved to a specified mailbox or external store, as defined by the administrator, for further investigation. Advanced filtering capabilities include: sender, receiver, expiry policy, message size, sent/receive date, cc/bcc, and regular expressions.
Legal Hold: Immediate preservation of a user’s deleted and edited mailbox items (e-mail, appointments, tasks, etc.) from both their primary mailbox and Personal Archive. Litigation Hold can be set on individual mailboxes or across the enterprise and includes an option that automatically alerts users that a hold has been placed on their mailbox.
I tried to post the link to this as a comment on someone’s blog but it stripped it out so I decided to post it here so they have an idea of what I was talking about.
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.
I just had a conversation about how many nodes can fail in a three node DAG and since there was a misconception present I figured I should point out a section of the “Planning For High Availability and Site Resilience” article on TechNet.
From “Witness Server Requirements”
DAGs with an odd number of members do not use a witness server. All DAGs with an even number of members will use a witness server. The witness server can be any computer running Windows Server.
What does this mean? You need to have node majority within the DAG; if you have a three server DAG and two fail you only have one left and therefore don’t have majority. If you want to sustain two failures in a DAG then you need to design your DAG with four nodes and use a witness server.
When you add/remove a server from the DAG (note that a node failing does not count) the addition or removal of a witness server happens automatically. You can either specify a directory (The witness server cannot be a member of the DAG) or by automatically selecting a 2010 Hub Transport server in the site that does not have the Mailbox role installed.
Questions are welcome in the comments, a link to the TechNet article is below.
Planning for High Availability and Site Resilience: Exchange 2010 Help
Posted: October 11th, 2010
Categories:
Exchange Server
Tags:
Exchange Server
Comments:
No Comments.