Exchange 2010 – Understanding and Managing Databases – Part 11

In this post, we will discuss the following topics:

  • The concept of the Exchange Database including the Extensible Storage Engine or ESE
  • The way transaction logs and database files work together – storage architecture
  • How to create and mount databases
  • Some best practice concepts and implementing them with a newly created mailbox database
It’s important for you to visually realize that every email that goes to your Mailbox server must go into a database, and this creates challenges because of the huge variety of messages Exchange handles. From the tiny on-line emails to the monster MB emails with video attachments.
The I/O profile of a Mailbox server is not predictable (RANDOM). Read/write that occurs between memory and disk is substantial. At times there may be waves of messages, other times may be idle.
Exchange uses the Extensible Storage Engine (ESE) database engine (MS has mentioned moving this to SQL but that has been determined to be too much of an investment, so ESE remains in Exchange 2010). The ESE engine has received some enhancements to improve I/O by 70% (meaning, Exchange 2010 can read/write emails to disk 70% faster than 2007 using the same engine). These improvements included increasing the page size from 8kb to 32kb, storing header data in a single DB table, and compressing attachments. In turn, because of these optimizations, you actually have more options for using lower-end disks for your Exchange server.
Disk Types for Exchange:
  • Better IOPS performance mean flexibility in storage options:
  •      High-end storage (SANs or RAID arrays)
  •      Exchange 2010 uses reduced I/O and this allows for Lower cost SATA disks or Just a Bunch of Disks (JBOD) storage
  • One important point to keep in mind is that Microsoft removes Single Instance Storage with Exchange 2010
  •      The idea behind SIS is when a message is sent to a bunch of people (perhaps with a large file included) the original message is stored once.
  •      SIS is replaced by database compression technology and new tools to help administrators to purge mailboxes and reduce the overall size of the database
To visualize email flow consider the following:
The email comes in, the CPU/Memory sends it to the hard disk but not immediately into the database, because it might be busy. First it goes into transaction logs, which ensure the data is written into the database. Transaction logs don’t do anything, they are 1 MB in size and the amount of files/logs grows. But they are written into the “one monolithic database” file. The exchange store uses write-ahead Transaction Logs and CheckPoint files to help prevent data loss. These files record all changes that have been committed to the in-memory database. While checkpoint files record which data has been committed. If the DB is corrupted, and the transaction logs are safe, your DB will be up to date. Its recommended to keep TL and DB on separate disks. JRS files are used when the hard drive runs out of space and help to stop the queue DB cleanly. When the store runs out of hard disk space, the transport service will be stopped. At 1 GB it will run out of space and is BAD. Space cannot be reclaimed. *Make extra effort to ensure you do not run out of disk space!*
In the Exchange Management Console -> Mailbox server role -> Database Management tab, we can see the database file path and where the Transaction Logs are located.
In the Mailbox Database folder on the hard drive, in the transaction logs, when the placeholder E00 log is complete, it will be renamed.
When you create a new Mailbox, you can change the DB file locations. (PS command: new – mailboxdatabase Server…)
Exchange 2010 Database Best Practices:
  • Place transaction logs and database files on separate disks (off the system disk and/or the location where Exchange is installed – you can move the location of your DB)
  • Place transaction logs on a mirrored volume
  • Place database files on a RAID 5
  • Use the Exchange 2010 Mailbox Server Role Requirements Calculator to help you determine your storage needs. The latest version can be found here: http://blogs.technet.com/b/exchange/archive/2009/11/09/exchange-2010-mailbox-server-role-requirements-calculator.aspx
  • Note: Standard Edition supports 5 databases. Enterprise Edition supports 100 databases
For an existing DB, you can “Move Database Path” at any time and change the default locations for transaction logs and database file location.
EMC -> Organization Configuration -> Mailbox -> Database Management Tab -> Right-click on Database -> Properties ->
Maintenance Tab ->
Database Management Properties
  • Mount and Dismount the Database
  • Move Database and Log Paths
  • Background Database Maintenance (24×7 ESE scanning)
  • Circular Logging
  • Storage Limits
  • Deletion Settings
We will touch upon Journal Recipient later.
Here the Exchange Mailbox Database Maintenance Schedule can be adjusted or Customized.
Database maintenance performs the following maintenance tasks:
  1. Purging mailbox DB and PF DB indexes
  2. Maintaining Tombstones
  3. Cleans up deleted Items Dumpster
  4. Removes public folders that have exceeded expiration time
  5. Removes Deleted Public Folders which have exceeded the tombstone lifetime
  6. Cleans up conflicting Public Folder messages
  7. Updates server versions
  8. Checks schedule plus Free/Busy and offline folders
  9. Cleans up deleted mailboxes
  10. Checks message tables for orphaned messages
  11. Cleans up reliable event tables
By default, from 1am to 5 am, these tasks above are completed.
An online defragmentation process will be run to free up pages in the database at the end of every maintenance schedule. This is done to reduce the amount of I/O.
Legacy versions of Exchange would do a DB check-sum and look at every page to see if there was corruption at end of maintenance schedule.
However, ESE Scanning does the DB check sum process for corruption on the fly, outside of the maintenance schedule. Un-checking the option for ESE 24/7, the defrag will still take place at the end of the scheduled maintenance.
– Enable Circular Logging – saves disk space – allows exchange to overwrite transaction logs. If your database is corrupt, the transaction logs will restore the DB from the logs. It’s not recommended to use this option – but good if you want to save disk space (perhaps you can turn this on for specific databases)
Limits Tab:
Storage limits – mailbox and storage limits
By default, every day at 1am if the user hits these limits, they will be sent a notification that their mailbox has gotten so large that they will either be prohibited to send or send and receive.
Issue Warning at (kb):
Prohibit send at (kb):
Prohibit send and receive at (kb):
Deletion settings defaults:
Keep deleted items for (days): – deleted items do not count against user’s total mailbox size
Keep deleted mailboxes for (days)
Don’t permanently delete items until the database has been backed up (recommended to enable this option)
In summary, there is a lot to consider when managing an Exchange database. We talked about the concept of an Exchange Database, Transaction logs and database files, mounting/dismounting databases, best practices for configuring DB’s and logs, and finally, maintaining our databases with best practices.
A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010 – Understanding and Managing Databases – Part 11

In this post, we will discuss the following topics:

  • The concept of the Exchange Database including the Extensible Storage Engine or ESE
  • The way transaction logs and database files work together – storage architecture
  • How to create and mount databases
  • Some best practice concepts and implementing them with a newly created mailbox database
It’s important for you to visually realize that every email that goes to your Mailbox server must go into a database, and this creates challenges because of the huge variety of messages Exchange handles. From the tiny on-line emails to the monster MB emails with video attachments.
The I/O profile of a Mailbox server is not predictable (RANDOM). Read/write that occurs between memory and disk is substantial. At times there may be waves of messages, other times may be idle.
Exchange uses the Extensible Storage Engine (ESE) database engine (MS has mentioned moving this to SQL but that has been determined to be too much of an investment, so ESE remains in Exchange 2010). The ESE engine has received some enhancements to improve I/O by 70% (meaning, Exchange 2010 can read/write emails to disk 70% faster than 2007 using the same engine). These improvements included increasing the page size from 8kb to 32kb, storing header data in a single DB table, and compressing attachments. In turn, because of these optimizations, you actually have more options for using lower-end disks for your Exchange server.
Disk Types for Exchange:
  • Better IOPS performance mean flexibility in storage options:
  •      High-end storage (SANs or RAID arrays)
  •      Exchange 2010 uses reduced I/O and this allows for Lower cost SATA disks or Just a Bunch of Disks (JBOD) storage
  • One important point to keep in mind is that Microsoft removes Single Instance Storage with Exchange 2010
  •      The idea behind SIS is when a message is sent to a bunch of people (perhaps with a large file included) the original message is stored once.
  •      SIS is replaced by database compression technology and new tools to help administrators to purge mailboxes and reduce the overall size of the database
To visualize email flow consider the following:
The email comes in, the CPU/Memory sends it to the hard disk but not immediately into the database, because it might be busy. First it goes into transaction logs, which ensure the data is written into the database. Transaction logs don’t do anything, they are 1 MB in size and the amount of files/logs grows. But they are written into the “one monolithic database” file. The exchange store uses write-ahead Transaction Logs and CheckPoint files to help prevent data loss. These files record all changes that have been committed to the in-memory database. While checkpoint files record which data has been committed. If the DB is corrupted, and the transaction logs are safe, your DB will be up to date. Its recommended to keep TL and DB on separate disks. JRS files are used when the hard drive runs out of space and help to stop the queue DB cleanly. When the store runs out of hard disk space, the transport service will be stopped. At 1 GB it will run out of space and is BAD. Space cannot be reclaimed. *Make extra effort to ensure you do not run out of disk space!*
In the Exchange Management Console -> Mailbox server role -> Database Management tab, we can see the database file path and where the Transaction Logs are located.
In the Mailbox Database folder on the hard drive, in the transaction logs, when the placeholder E00 log is complete, it will be renamed.
When you create a new Mailbox, you can change the DB file locations. (PS command: new – mailboxdatabase Server…)
Exchange 2010 Database Best Practices:
  • Place transaction logs and database files on separate disks (off the system disk and/or the location where Exchange is installed – you can move the location of your DB)
  • Place transaction logs on a mirrored volume
  • Place database files on a RAID 5
  • Use the Exchange 2010 Mailbox Server Role Requirements Calculator to help you determine your storage needs. The latest version can be found here: http://blogs.technet.com/b/exchange/archive/2009/11/09/exchange-2010-mailbox-server-role-requirements-calculator.aspx
  • Note: Standard Edition supports 5 databases. Enterprise Edition supports 100 databases
For an existing DB, you can “Move Database Path” at any time and change the default locations for transaction logs and database file location.
EMC -> Organization Configuration -> Mailbox -> Database Management Tab -> Right-click on Database -> Properties ->
Maintenance Tab ->
Database Management Properties
  • Mount and Dismount the Database
  • Move Database and Log Paths
  • Background Database Maintenance (24×7 ESE scanning)
  • Circular Logging
  • Storage Limits
  • Deletion Settings
We will touch upon Journal Recipient later.
Here the Exchange Mailbox Database Maintenance Schedule can be adjusted or Customized.
Database maintenance performs the following maintenance tasks:
  1. Purging mailbox DB and PF DB indexes
  2. Maintaining Tombstones
  3. Cleans up deleted Items Dumpster
  4. Removes public folders that have exceeded expiration time
  5. Removes Deleted Public Folders which have exceeded the tombstone lifetime
  6. Cleans up conflicting Public Folder messages
  7. Updates server versions
  8. Checks schedule plus Free/Busy and offline folders
  9. Cleans up deleted mailboxes
  10. Checks message tables for orphaned messages
  11. Cleans up reliable event tables
By default, from 1am to 5 am, these tasks above are completed.
An online defragmentation process will be run to free up pages in the database at the end of every maintenance schedule. This is done to reduce the amount of I/O.
Legacy versions of Exchange would do a DB check-sum and look at every page to see if there was corruption at end of maintenance schedule.
However, ESE Scanning does the DB check sum process for corruption on the fly, outside of the maintenance schedule. Un-checking the option for ESE 24/7, the defrag will still take place at the end of the scheduled maintenance.
– Enable Circular Logging – saves disk space – allows exchange to overwrite transaction logs. If your database is corrupt, the transaction logs will restore the DB from the logs. It’s not recommended to use this option – but good if you want to save disk space (perhaps you can turn this on for specific databases)
Limits Tab:
Storage limits – mailbox and storage limits
By default, every day at 1am if the user hits these limits, they will be sent a notification that their mailbox has gotten so large that they will either be prohibited to send or send and receive.
Issue Warning at (kb):
Prohibit send at (kb):
Prohibit send and receive at (kb):
Deletion settings defaults:
Keep deleted items for (days): – deleted items do not count against user’s total mailbox size
Keep deleted mailboxes for (days)
Don’t permanently delete items until the database has been backed up (recommended to enable this option)
In summary, there is a lot to consider when managing an Exchange database. We talked about the concept of an Exchange Database, Transaction logs and database files, mounting/dismounting databases, best practices for configuring DB’s and logs, and finally, maintaining our databases with best practices.
A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010 – Mailbox Server Role Overview – Part 10

In this post we will review the overall purpose of the Mailbox role.

We will also review the management options that relate to the Mailbox role including:

  • Database Management
  • Messaging Records Management (MRM)
  • Address Lists
  • The Offline Address Book
  • Public Folders
Mailbox Server Role functions:
A server that runs the Mailbox Server role (“Mailbox server”) performs the following:
  • Hosts mailbox databases (which hold recipient mailboxes)
  • Hosts public folder databases
  • Handles email address policies
  • Generates Offline Address Books (OABs)
  • Generates Address Lists
  • Enables content indexing
  • Allows for messaging records management (MRM)
  • Allows for retention policies
As you can tell that the role is an important one and that High Availability and Site Resilience is a key concern and Exchange 2010 has been designed specifically to provide those features.
The mailbox server has quite a bit of connectivity to all the other server roles (except for the Edge Transport Server).
____________________________________
Configuration Aspects of the Mailbox Role
Organization Configuration
  • Database Management and Database Availabilty Groups
  • Messaging Records Management (MRM)
  •      Managed Default Folders
  •      Managed Custom Folders
  •      Managed Folder Mailbox Policies
  • Address Lists
  • Offline Address book
  • Sharing Policies
Server Configuration
  • Most of the configuration work is being done on the Organization Configuration side. In Exchange 2007, Database Management was under Server Config – related to storage groups. Very limited settings including MRM schedule and a view of Database Copies (if any exist).
MRM – policies to adjust for example, how long items stay in the deleted items folders in (all) user’s mailboxes. Sharing policies control how to share calendars with persons outside the organization.
Click image to enlarge

To manage the mailbox server, open the EMC, go to Organization Configuration -> Mailbox. You’ll notice that I have two databases. One is the Mailbox database and the other is the Public Folders database. You can right-click on the Mailbox Database and choose properties, where you will find General, Maintenace, Limits, and Client Settings Tabs.

Database availability groups tab will by default not contain objects as this tab is used for High Availability/Fail-over configuration.

The Managed Default Folders tab – lists out typical folders in a user’s mailbox. You can also create additional default folders. You may want to create two different Deleted Items folders.

Managed Custom Folders – place a folder in User’s Outlook – for example, Archive, you can create it, and place it in this tab.

Managed Folder Mailbox Policies – no policies by default, create a policy and then apply – we will go over this later.

Offline Address Book – default OAB

Address Lists – pre-configured Address Lists as well as the Default Global Address List. You may want to create lists for departments, sites, organizations.

Sharing Policies – Default Sharing Policy

_________________________

Server Configuration

Mailbox Role configuration

ServerConfigurationMailbox
Click Image to Enlarge

In the top pane, right click on the Mailbox and click on properties. Here you will find a General tab, a Systems Settings tab, and a Customer Feedback Options. For some unknown reason, Scheduled Managed Folder Assistant tab is not available on my installation as it is in others. This may be due to permissions.

By Right-clicking on the database copy, you can get the General Status of the Mailbox Database: the Content Index State, the Status (Mounted), the Copy queue length and Replay Queue Length. Under the Status tab you will find: Seeding, Messages, Latest available log time, Last inspected log time, Last copied log time, and Last replayed log time. Here you can also View Errors Messages.

 

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Transitioning Exchange 2007 to Exchange 2010 – Part 9

This post has to do with transitioning from Exchange 2007 to 2010. Essentially you will be installing Exchange 2010 on the 2007 Exchange server, setup some co-existence if necessary, transfer the mailboxes, and then uninstall Exchange 2007.

* Upgrades – There is no “In-Place” upgrade from 2007 to 2010

– You can either deploy fresh, migrate, or transition.

*Migration

From Exchange 5.5 or 2000 to Exchange 2010 – when moving over to Exchange 2010 you will not be able to move over mailboxes or use transitioning coexistence. You might have to upgrade from 5.5 or 2000 to 2003, and then transition. Quest is a good transitioning tool from older versions to 2010. Lotus Domino has a transition path to 2007.

*Transition: involves introducing an Exchange Server(s) into the environment and moving over mailboxes and public folders

– Co-Existence: the state of your Exchange environment when different versions of Exchange are running together side-by-side within the same Exchange Organization

You can run exchange 2003, 2007, and 2010 all co-existing together. Slowly move the mailboxes and public folders over.

When migrating from a single 2007 server:

1. Ensure Exchange 2007 servers are running SP2

2. Deploy Exchange 2010 Servers in this order: Client Access Server, then Hub Transport Server, Unified Messaging, and then Mailbox server

3. Configure legacy DNS host name records* and implement new certificates for CAS

*Legacy DNS host name records: only necessary if you cannot transition quickly and need to provide remote OWA/Mobile usage.

4. Move over mailboxes and public folder data to Exchange 2010.

5. Tie up loose ends and uninstall Exchange 2007

Legacy Host Names and Certificates for CAS

  • If you plan for a period of co-existence with 2007, you will need to establish a legacy host name
  • The goal is to move your primary namespace, mail.companyname.com and autodiscover.companyname.com over to Exchange 2010
  • So for example, your mail.companyname.com domain continues but a new legacy.companyname.com is put in place for 2003/2007 users of OWA, ActiveSync, etc…
  • You will need to obtain a new certificate for Exchange and you should consider a Subject Alternative Name (SAN) certificate although wildcard certificates are also supported

Some DNS Record Types Review:

  • A Record: an address record that maps a host name to an IP address
  • NS Record: a name server record that maps a domain name to a list of DNS servers that are authoritative for that domain
  • MX Record: mail exchange record – maps a domain name to a list of mail exchange servers for that record
  • CNAME Record: gives the ability to provide an alias of one name to another
  • SRV Record: links a particular service to a specific server
  • SOA: Specifies the DNS server providing authoritative service for a particular domain

Users trying to log into an Exchange 2010 server, but have not had their mailbox transitioned yet, will be re-directed to the previous server if the legacy A record is listed in DNS.

Deployment Assistant: (upgrade means transistion) -this tool can be used from the website or downloaded.

The tool can be found here:

http://technet.microsoft.com/en-us/exdeploy2010/default.aspx#Index

Disjointed namespace: the FQDN of a server does not match the domain of which it is a member.

Transitioning Paths Vary

* Depending on your organization you may have the following variables in play for your transition to mold itself around:

– Exchange 2003 to 2010 (or mixed 2003/2007 to 2010)

– Public folders need to be transitioned

– Co-existence is necessary (requires legacy host name)

* Our example transition includes the following concerns:

-Public folders do, in fact, exist and need to be transitioned

-Co-existence is not necessary (we will perform the move in a minimal amount of time over a weekend of inactivity within the organization)

In a transition from Exchange 2007 to 2010 here are the following necessary items:

  1. Exchange 2007 is already running SP2
  2. The Server is 2008 and the forest functional level is already higher than the required 2003 forest functional level mode
  3. Exchange 2010 is already installed with CAS/HT/MB roles
Items to Complete:
  1. Move Offline Address Book (OAB) generation to Exchange 2010
  2. Move Exchange 2007 Mailboxes to 2010
  3. Move Public Folder data to Exchange 2010
  4. Ensure funtionality, test connectivity options, remove Exchange 2007

To check the domain functional level

  1. Go to Active Directory Computers and Users
  2. Right-click on the domain name, click “Raise Domain Functional Level”
  3. Look at Current Domain Functional Level

 

Moving the OAB generation from 2007 over to Exchange 2010

  1. Open Exchange Management Console
  2. Expand Organization Configuration node
  3. Select the Mailbox node
  4. Select Offline Address Book tab
  5. Select the Default Offline Address book, ->Actions -> Properties -> Distribution tab
  6. Make sure Enable Web-based distribution is On (checked)
  7. Enable public folder distribution (On/checked) -> ok

Warning (ok)

In the actions pane click Move

Click Browse -> Select the new Exchange 2010 server -> Move

Completed (Warning) -> Finish

Generation server should now be your new 2010 server.

Online Mailbox Moves:

  • Previous transitions called for mailboxes to be offline for a period of time while they moved to the new server
  • Exchange 2010 eliminates this issue by allowing the mailbox to be moved while still online. Note: If transitioning from Exchange 2003 to 2010 you will still need to do an offline mailbox move
  • To the user, short of a restart of Outlook, they will not know a difference or notice any loss of service
  • Need to use the wizard or new powershell cmdlet New-MoveRequest

You need to start on the new Exchange 2010 server to move mailboxes from 2007 to 2010

Start Exchange Management Console

Go to Recipient Configuration node -> Mailbox

Add a column (Database) and place next to the display name

Select multiple users -> Actions -> New Local Move Request…

Target Mailbox Database (Browse) -> Select new 2010 server DB -> ok -> Next

Move options:

If corrupted messages are found:

  • Skip the mailbox (recommended)
  • Skip the corrupted messages
Next -> New -> Finish
Move Request -> If you look at the status it should say completed
Using the exchange management shell: (more flexibility and control)
get-help new-moverequest -examples
(3 examples)
System will perform check of mailbox for readiness
>New MoveRequest Identity ‘[email protected]’ -TargetDatabase “MBEX2K10”
To test
>get move-request
-shows which move requests have been completed
For example to move just mailboxes from one organizational unit into exchange 2010

> get user organizationalunit LegalDept | New MoveRequest -TargetDatabase “MBEX2K10”

Replicating Public Folder Structure:

Once we have replicas we can remove the original copy

Go to Toolbox – Public Folder Management Console – should connect back to your 2007 exchange server.

We first need an Exchange 2010 Public Folder database:
Organization Configuration under Mailbox

Database Management Tab -> Actions -> New Public Folder Database

Give it a name (2K10PF) -> Next -> New -> Finish.

Go back to PF management console -> Right click on folder and choose properties -> Replication tab -> Add -> Select new 2K10PF database -> OK

Change “Use public folder database replication schedule” to Run Every Hour.

Now we’ve asked the public folders to replicate over. One way to check if it’s working ok is right click on the root, and choose connect to server, select 2010 server, and find the replicated folders (update Heirarchy)

Now you can remove 2007 replicas. Make sure you have complete all public folders.

2007 Exchange Pre-Removal Tasks 

  • If you are confident that your Exchange 2010 server(s) are ready to work alone – don’t uninstall the Exchange 2007 server yet…
  • In the EMC Toolbox is the Exchange Best Practices Analyzer – use it!
  • Use the Exchange Remote Connectivity Analyzer Tool is another option
  • When your testing is complete and you feel comfortable — Uninstall Exchange 2007 from the Programs and Features item in the control panel

Decommissioning is simply removing the Programs and Features. It will go through the process of uninstalling the various roles (MB, CAS, etc)

We have ended the period of coexistence, and have transitioned over to 2010.

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010: Exchange Management Console (EMC) – Part 8

A quick overview of the Exchange Management Console, or EMC; a very capable management console accessed via the OWA web interface.

We can access the EMC through Outlook Web App. On the Exchange Mailbox server itself, you can get to OWA through the address https://localhost/owa

Note: I encountered an issue here. When first logging into OWA I received the following error message: “Your mailbox appears to be unavailable. Try to access it again in 10 seconds. If you see this error again, contact your helpdesk.”

My first instinct when I receive a message like this is to check services. Yes, as I suspected, upon viewing my primary Exchange server services, the Microsoft Exchange Server Information Store Service was not started. I started the service manually, logged into OWA again, and found I could now completely log in and see my OWA inbox.

Once inside the administrator’s mailbox, you can manage the organization by clicking on the Options drop-down in the upper right-hand corner, and then on “See all options…”

ManageOptions
Now that you’ve clicked into all of the options, you will want to change the Mail > Options: “Manage Myself” drop-down to “My Organization”. You are now in the Exchange Management Console.EMC

Once inside the EMC you have the following Options:

  1. Users and Groups – contains Mailboxes, Distribution Groups, and External Contacts
  2. Roles and Auditing – contains Administrator Roles, User Roles, and Auditing. There are some nice Auditing controls available here including * Run a non-owner mailbox access report… * Run a litigation hold report… * Run an administrator role group report… * Export Mailbox Audit Logs… * Export the Administrator Audit Log…
  3. Mail Control – contains Rules, Journaling, and Delivery Reports
  4. Phone and Voice – contains ActiveSync Access (Quarantined Devices and Device Access Rules); and ActiveSync Device Policy
Take note that Multi Mailbox Search (which is under mail control in RTM). RVAC, even the admin is not able to see the Multi Mailbox Search; you have the add the administrator into the Discovery Management Role Group. Once added to that group, you will see MultiMailbox search in the Administrators EMC.

 

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010 – The Exchange Management Console and Shell – Part 7

* There are 3 tools for managing Exchange. 1. The Exchange Management Console, 2. The Exchange Management Shell, and, 3. The Exchange Control Panel, which is accessed through Outlook Web App (OWA)

* We will first look at the use of the EMC and explore its various nodes, panes, and actions we can perform

* Then we’ll look at the purpose of PowerShell and the EMS, focusing on how commands are formed using cmdlets and how they are made more complex and useful through pipe-lining.

The EMC has 4 primary interface elements:

  1. Console Tree
  2. Result Pane
  3. Work Pane
  4. Action Pane
The EMC is based on MS MMC 3.0 and the GUI version used for Exchange.
Organization Configuration
Server Configuration
Recipient Configuration
Under Server Configuration, when you click on Mailbox, Client Access or Hub Transport, you’ll notice that there are two middle panes. A results pane and a work pane.
The Actions pane can be turned off by clicking Show/Hide the action pane button on the toolbar. When you turn it off, you can still perform functions by right-clicking on objects.
One thing to note in the Console Tree is that you have by default the “Microsoft Exchange on-Premises.” It is designed so that you can manage Exchange Servers in the cloud.
The Exchange Management Shell is a requirement for Exchange Administrators (and there are questions about it in exams). Learning PowerShell is not an option, it is a necessity.
The EMS is built upon PowerShell (PS)
  • PS is both a command-line tool and a scripting platform.
  • Exchange 2010 requires PowerShell v2.
  • PowerShell commands are built using cmdlets
  • Through PowerShell commands, you can manage EVERY aspect of Exchange, whereas the EMC you can manage ALMOST every aspect of Exchange
Local Shell and Remote Shell
  • The EMC allows you to make configuration changes to the Organization or to individual Servers. In Exchange 2007, you could only run the POwerShell compone3nts on the local machine.
  • With Exchange 2010 you can connect to a remote session on a remote Exchange 2010 system.
  • When you open the EMS it connects to the closest exchange session
  • you cannot connect remotely to an Edge Transport Server
  • Remote Sessions are created using the New-PSSession and Import-PSSession cmdlets
What are CMDLETS?
  • Simple verb-noun structure
  • Common verbs are : Get, Set, Remove, Test, Enable, Disable, Install, Uninstall, New and Move
  • Pipelines | help to string cmdlets together
  • Examples:
  • Get-Mailbox
  • Get-MailboxStatistics <Mailbox>
  • Get-Mailbox -OrganizationalUnit Sales
  • Get-Mailbox | Set-Mailbox -prohibitsendquota 500MB (this will take every mailbox in the organzation and set the prohibit send quota to 500MB – manually would take forever!
The Exchange Management Shell contains modules we need. You can import them into PowerShell, but the EMS already is loaded.
Try for example:
>get-excommand – quite a number of different cmdlets! To investigate how to use one of these commands?
>get-help test-systemhealth
This outputs
Name:
Synopsis:
Syntax: (might want to port out to txt and print)
Description:
Related Links:
Remarks: (Examples)
>Get-Service -> shows all the services running on our system
>Get-Mailbox ->  shows all the mailboxes on the server – names, where they reside, quota.
To narrow down to the sales org unit use:
>get-mailbox – OrganizationalUnit Sales
>Get-MailboxStatistics jason.coltrin
shows last login time, storage stats, etc
>get-mailbox -OrganizationalUnit Sales | Set-Mailbox -ProhibitSendQuota 500MB
To give a number of users mailbox with one line of code you can do the following:
Andy Grogan created a script to create (fake) users on a domain. You can create several hundred users.
Go to UserTools, and you can see a .csv file which contains basic info for creating users. You can change these, and use your real names and create an entire domain of your users.
The script will create an Organizational Unit called “Exchange Users”
You can download the script here:
and here is a screenshot of the script and .csv files:
Click image to enlarge
Run the powershell script within powershell, and you should see the users scroll down the screen as they are created.
Now that the users have been created, go to your Mailbox server and go to Organization Configuration -> Mailbox -> “MailboxDatabase” is the database where we will be placing our new users. We will use the ExchangeUsers OU to help build mailboxes for our lab users.
Under Recipient Configuration, we do not yet have users listed. We do not have mailboxes for them.
Go to the EMS and type in the following command:
> get-user -OrganizationalUnit ExchangeUsers | where-object{$_.RecipientType -eq “User”} | Enable-Mailbox -Database “MailboxDatabase”
Now that your users have been given mailboxes, goto OWA at https://yourdomain/owa , log in as one of the users and test sending/receiving to the administrator.

Exchange 2010 SP1 Installation – Part 6

Exchange 2010 SP1

Exchange Team Points For Deployment Prepraration

The installation of SP1 can be very frustrating, despite it’s great features. There is always some side-IIS elements that were not installed, and they need to be installed before you can move forward. The hotfixes are the key. When you start with an OS, e.g. Server 2008 R2, make sure you first have all of the OS updates installed. Visit Windows Updates and make sure you install any that are available. Then you want to visit the Microsoft Exchange Team site and find all the hot fixes for your Exchange 2010 installation. Make sure all of those hot fixes are installed as well. Then, even though you can install roles and features with checkboxes, it’s better to use the import-modules servermanager commandlet with PowerShell and copy the text for installing roles and features.

Do a google search for “Install Exchange 2010 SP1” and go to the EHLO blog. http://blogs.technet.com/b/exchange/archive/2010/09/01/3410888.aspx

Go to the Upgrade order if you’re going to upgrade from 2007.

Use the Matrix of Updates Required chart. Use the chart and don’t just go with what the Exchange installer tells you. You don’t want to miss one; you may be shown that you finished completely, but end up having to go back to ADSI edit etc. So make sure you have the hotfixes based off the chart.

In my case, all of the updates in the matrix were not required by my system, and the SP1 install went well with my latest install. After the SP1 install, it’s a good idea to install the update roll-up #5 released by Microsoft here:

http://www.microsoft.com/download/en/details.aspx?id=22090

After the update roll-up has been installed, be sure to check Windows Update a few times to ensure you have the latest patches and updates.

After SP1 is installed, and the updates have been installed as well, open up the Exchange console, click on the Organization Configuration, and then Mailbox, and you should see two new Retention tabs:

ExchangeSP1
Click image to enlarge

 

 

 

 

 

 

 

 

 

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010 Installation Part 5

Absolute Necessities for Exchange 2010

  • You need an Active Directory Domain in place
  • You need a solid DNS infrastructure
  • You can technically install Exchange 2010 on a server that is your Active Directory Server and your DNS server (case in point, Small Business Server)

Typical or Custom Installations:

Exchange 2010 can be deployed through either a Typical or a Custom Installation

1. Typical: will install the Hub Transport, Client Access and Mailbox Server roles

2. Custom: You can install one server type, or some, or all of the roles

  • If you install the Edge Transport (greys out other roles), you cannot install other roles. Can only exist on a DMZ
  • If you are installing one of the other roles, you can combine them together (you may install them on separate servers all together.)
  • You don’t need the Unified Messaging Server role in order for your organization to function. The same with the Edge Transport server, not required but is recommended by Microsoft to provide better protection for Exchange.

The installation itself is fairly typical, and if your prerequisites have been installed you should not encounter any errors.

After installation, if your Exchange server is not licensed, you will have approximately 120 days to activate or license the server.

Be sure to check for critical updates for your exchange server after installation. If you don’t see any updates for exchange in Windows Update, even after a reboot, you may need to start the Exchange Setup.exe Installer again, and click on “Step 5: Get critical updates for Microsoft Exchange”. This is the only way I could force Windows/Exchange to find new updates, for example Exchange Update Rollup 5 for Exchange Server 2010 KB2407113.

 

Exchange Updates
Click Image to Enlarge

 

 

 

 

 

 

 

 

 

Everything we need installed for a working Exchange environment has been accomplished.

When starting the Exchange 2010 Management Console, we are not simply opening it for this server, but for our Exchange Organziation. Whether on a single server, or a multitude of servers, the console will manage the entire Exchange Organization system.

For the Edge Transport Server

We will install Active Directory Lightweight Directory Services. Even though the Edge Transport Server is not a part of the AD (for our own safety) it still requires a directory to work with. We can install it via the GUI, or through the PowerShell.

For the Edge Transport server, we will use the code:

> import-module servermanager

> Add-WindowsFeature NET-Framework, RSAT-ADDS, ADLDS -Restart

When running the command you may receive the following result error:

PS C:UsersAdministrator> Add-WindowsFeature NET-Framwork,RSAT-ADDS,ADLDS -Restart
Add-WindowsFeature : ArgumentNotValid: Invalid role, role service, or feature: 'NET-Framwork'. The name was not found.
At line:1 char:19
+ Add-WindowsFeature <<<<  NET-Framwork,RSAT-ADDS,ADLDS -Restart
    + CategoryInfo          : InvalidData: (:) [Add-WindowsFeature], Exception
    + FullyQualifiedErrorId : NameDoesNotExist,Microsoft.Windows.ServerManager.Commands.AddWindowsFeatureCommand

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
False   No             Invali... {}

If you receive this error, it means that the prerequisite, .NET Framework 3.5.1 is required. See screenshot below. An easy way to install the prerequisite is to use the GUI role installation feature, which will prompt you to install the framework. Be sure to apply all critical updates and service packs to .NET prior completing the installation of Lightweight Directory Services; remember, this is your public-facing computer.

Click image to enlarge

 

 

 

 

 

 

Once .NET and the rest of the Edge Transport role is installed, you’ve rebooted, updated and have rebooted again, now would be a good time to backup the Edge Transport server with either a bare metal/VM system snapshot. Although snapshots are beneficial, an Edge Transport XML export/backup should be performed as well on a regular basis. I exported my first as Edge_BaselineXML.

A very useful article on backing up and restoring the Edge Transport Server can be found here: http://exchangeserverpro.com/exchange-2010-edge-transport-server-backup-and-recovery

Note: The Windows Backup feature is not installed by default on a newly installed Server2008 R2 installation. You can quickly install the backup feature at the powershell using the following two commands:

> import-module servermanager

> add-WindowsFeature backup

When logging into the Edge Server, and launching the Management Console, I encountered the following error:

[ERROR] Provisioning layer initialization failed: ‘Active Directory error 0x8007052E occurred while searching for domain controllers in domain

The problem was that I had logged into the local machine only and not the domain, and when trying to run the console, it was not logged in as a domain user. I logged off, logged back in as DOMAINAdministrator, and then found the Management Console to work correctly and identify my machine as an Edge Transport Server.

Another error I hit was the following:

The following error occurred when searching for On-Premises Exchange Server:

The term ‘C:Program FilesMicrosoftExchange Server V14BinConnectFunctions.ps1′ is not recongnized as the name of a cmdlet, function, script files, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. It was running the command’. ‘C:Program FilesMicrosoftExchange ServerV14BinConnectFunctions.ps1’

(Click here to retry)

By following the workaround here: http://blogs.technet.com/b/nawar/archive/2010/09/03/exchange-management-shell-ems-missing-after-applying-exchange-2010-sp1.aspx I was able to continue with the configuration and open up the Exchange Console. However, all roles were available, which is incorrect. We should only see the Edge Transport role. After re-installing only the Edge Transport Role through the Exchange Setup, I now have the Edge Transport Role up and running. The Exchange Management Console should show only the Edge Transport Role on the Edge Transport server itself.

Click Image to Enlarge

 

 

 

 

 

This makes it clear what we’re working on. We’re on an Edge Transport server and that is all we can work on.

At this point we now have the ability to send mail internally from one mailbox to another. We do not have the ability to send email to the internet or from the internet because we have not configured DNS, or our Send/Receive connectors. We will save these tasks for a different post.

 

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010 Installation Part 5

Absolute Necessities for Exchange 2010

  • You need an Active Directory Domain in place
  • You need a solid DNS infrastructure
  • You can technically install Exchange 2010 on a server that is your Active Directory Server and your DNS server (case in point, Small Business Server)

Typical or Custom Installations:

Exchange 2010 can be deployed through either a Typical or a Custom Installation

1. Typical: will install the Hub Transport, Client Access and Mailbox Server roles

2. Custom: You can install one server type, or some, or all of the roles

  • If you install the Edge Transport (greys out other roles), you cannot install other roles. Can only exist on a DMZ
  • If you are installing one of the other roles, you can combine them together (you may install them on separate servers all together.)
  • You don’t need the Unified Messaging Server role in order for your organization to function. The same with the Edge Transport server, not required but is recommended by Microsoft to provide better protection for Exchange.

The installation itself is fairly typical, and if your prerequisites have been installed you should not encounter any errors.

After installation, if your Exchange server is not licensed, you will have approximately 120 days to activate or license the server.

Be sure to check for critical updates for your exchange server after installation. If you don’t see any updates for exchange in Windows Update, even after a reboot, you may need to start the Exchange Setup.exe Installer again, and click on “Step 5: Get critical updates for Microsoft Exchange”. This is the only way I could force Windows/Exchange to find new updates, for example Exchange Update Rollup 5 for Exchange Server 2010 KB2407113.

 

Exchange Updates
Click Image to Enlarge

 

 

 

 

 

 

 

 

 

Everything we need installed for a working Exchange environment has been accomplished.

When starting the Exchange 2010 Management Console, we are not simply opening it for this server, but for our Exchange Organziation. Whether on a single server, or a multitude of servers, the console will manage the entire Exchange Organization system.

For the Edge Transport Server

We will install Active Directory Lightweight Directory Services. Even though the Edge Transport Server is not a part of the AD (for our own safety) it still requires a directory to work with. We can install it via the GUI, or through the PowerShell.

For the Edge Transport server, we will use the code:

> import-module servermanager

> Add-WindowsFeature NET-Framework, RSAT-ADDS, ADLDS -Restart

When running the command you may receive the following result error:

PS C:UsersAdministrator> Add-WindowsFeature NET-Framwork,RSAT-ADDS,ADLDS -Restart
Add-WindowsFeature : ArgumentNotValid: Invalid role, role service, or feature: 'NET-Framwork'. The name was not found.
At line:1 char:19
+ Add-WindowsFeature <<<<  NET-Framwork,RSAT-ADDS,ADLDS -Restart
    + CategoryInfo          : InvalidData: (:) [Add-WindowsFeature], Exception
    + FullyQualifiedErrorId : NameDoesNotExist,Microsoft.Windows.ServerManager.Commands.AddWindowsFeatureCommand

Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
False   No             Invali... {}

If you receive this error, it means that the prerequisite, .NET Framework 3.5.1 is required. See screenshot below. An easy way to install the prerequisite is to use the GUI role installation feature, which will prompt you to install the framework. Be sure to apply all critical updates and service packs to .NET prior completing the installation of Lightweight Directory Services; remember, this is your public-facing computer.

Click image to enlarge

 

 

 

 

 

 

Once .NET and the rest of the Edge Transport role is installed, you’ve rebooted, updated and have rebooted again, now would be a good time to backup the Edge Transport server with either a bare metal/VM system snapshot. Although snapshots are beneficial, an Edge Transport XML export/backup should be performed as well on a regular basis. I exported my first as Edge_BaselineXML.

A very useful article on backing up and restoring the Edge Transport Server can be found here: http://exchangeserverpro.com/exchange-2010-edge-transport-server-backup-and-recovery

Note: The Windows Backup feature is not installed by default on a newly installed Server2008 R2 installation. You can quickly install the backup feature at the powershell using the following two commands:

> import-module servermanager

> add-WindowsFeature backup

When logging into the Edge Server, and launching the Management Console, I encountered the following error:

[ERROR] Provisioning layer initialization failed: ‘Active Directory error 0x8007052E occurred while searching for domain controllers in domain

The problem was that I had logged into the local machine only and not the domain, and when trying to run the console, it was not logged in as a domain user. I logged off, logged back in as DOMAINAdministrator, and then found the Management Console to work correctly and identify my machine as an Edge Transport Server.

Another error I hit was the following:

The following error occurred when searching for On-Premises Exchange Server:

The term ‘C:Program FilesMicrosoftExchange Server V14BinConnectFunctions.ps1′ is not recongnized as the name of a cmdlet, function, script files, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. It was running the command’. ‘C:Program FilesMicrosoftExchange ServerV14BinConnectFunctions.ps1’

(Click here to retry)

By following the workaround here: http://blogs.technet.com/b/nawar/archive/2010/09/03/exchange-management-shell-ems-missing-after-applying-exchange-2010-sp1.aspx I was able to continue with the configuration and open up the Exchange Console. However, all roles were available, which is incorrect. We should only see the Edge Transport role. After re-installing only the Edge Transport Role through the Exchange Setup, I now have the Edge Transport Role up and running. The Exchange Management Console should show only the Edge Transport Role on the Edge Transport server itself.

Click Image to Enlarge

 

 

 

 

 

This makes it clear what we’re working on. We’re on an Edge Transport server and that is all we can work on.

At this point we now have the ability to send mail internally from one mailbox to another. We do not have the ability to send email to the internet or from the internet because we have not configured DNS, or our Send/Receive connectors. We will save these tasks for a different post.

 

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com

Exchange 2010 Installation Part 4

Updating Your AD Schema and Preparing the Domain.

What is the AD Schema?

* Consider it like the blueprint for all your objects and attributes within AD.

Do you need to update the schema?

* Not in smaller environments (unless it is a policy) because it will occur automatically if you install Exchange with an account that has permissions to prepare AD and the domain.

We prepare ahead of time from the command line the commands are:

-Setup /PrepareLegacyExchangePermissions (or setup /pl)

-Setup /PrepareSchema (or setup /ps) ( this will also do legacyexchangepermissions)

-Setup /PrepareAD (or setup /p) ( this will also do schema and legacy)

 

Make sure you’re in enterprise admin group and for schema, schema admin group.

How do you prepare the domain?

* From the command line the commands are:

– setup /PrepareDomain (or setup /pd)

– Setup /PrepareDomain:<DomainFQDN>(or setup /pd:<FQDN)

– Setup /PrepareAllDomains (or setup /pad)

You can confirm that these commands completed successfully by looking for the organizational unit called Microsoft exchange security groups (10-11 security groups created).

Give this time to replicate throughout the organization.

I ran:

D:> setup /PrepareAD /OrganizationName: jasoncoltrin

You can cancel the setup.

You can co-exist with an existing 2007 environment. So you can be running Exchange 2007 and 2010 at the same time. However, you cannot install/run Exchange 2007 after 2010 is installed first.

Once this finishes, you will run

D: setup /PrepareDomain

That’s it, your environment is now ready to install the Exchange 2010 system in your domain.

 

 

 

A good majority of the content provided in my Blog’s Exchange series is derived from J. Peter Bruzzese’ excellent Train Signals Exchange Server 2010 Video Disk Series, as well as my own Exchange 2010 lab. Trainsignal.com is an invaluable source for accurate, easy to understand, IT information and training. http://www.trainsignal.com