E N D
1. Scott Schnoll
Principal Technical Writer
Microsoft Corporation Exchange Server 2010 SP1 Tips and Tricks
3. Agenda Session Objective(s):
Lots of Tips
SP1 Improvements
Takeaways
Exchange Server 2010 Rocks!
4. The Basics
5. Exchange Server 2010 Is… RTM’d October 8, 2009
GA since November 9, 2009
Downloadable from Microsoft Download Centerhttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=05741f65-2a7b-4070-879f-d74208d6171d
Hosting nearly 40 million mailboxes in the cloud!
6. Exchange Server 2010 SP1 Is… Currently under development
Public Beta available (test use only!)
http://bit.ly/dw7XL2
Build no. 14.01.0180.002
Public SP1 contenthttp://technet.microsoft.com/en-us/library/ff459257(EXCHG.141).aspx
Currently running on
134,000 Mailboxes in MSIT
477,836 Mailboxes in TAP
7. EXCHANGE SERVER 2010 SP1 RELEASED TO WEB! ANNOUNCEMENT
8. Exchange Server 2010 SP1 Is… Signed off for Released to Manufacturing (RTM) at 11:08 AM PST on August 23, 2010
Released to Web (RTW) at 9:00 AM PST on August 25, 2010 (less than 8 hours ago!)
Now available for WW download!http://go.microsoft.com/fwlink/?LinkID=199950
Build no. 14.01.0218.015
Supporting more languages than ever before
Unified Messaging languages: 25
Client languages: 55
Server languages: 15
9. Exchange Server 2010 Is… Available in three Server Editions
Standard Edition (retail and volume)
MPC: 0264-385
Enterprise Edition (volume only)
Includes all Exchange 2010 Standard features, plus support for up to 100 databases per server
MPC: 0264-2871
Coexistence Edition (volume only)
This is a Standard Edition SKU designed to be a “gateway” for upgrading from previous versions of Exchange to Exchange 2010 Online
MPC: 0264-2942 (offered for free) MPC = Microsoft Product Code
Standard and Enterprise evaluation mode will report themselves as “Trial Edition”MPC = Microsoft Product Code
Standard and Enterprise evaluation mode will report themselves as “Trial Edition”
10. Exchange Server 2010 SP1… Includes a new “Hosting Mode”
Installed using Setup.com /hosting switch
No GUI Setup for Hosting Mode
Requires new forest in Windows 2008 FFL
Includes cmdlets for creating and configuring Tenant Organization
Uses Service Plans to enable/disable specific features for Tenant Organizations
Uses Mailbox Plans during user provisioning to automatically populate user properties and assign default permissions
11. Hosting Mode Limits Features not available in Hosting Mode
Co-existence with Exchange 2003 or Exchange 2007
Exchange Management Console
Public Folders
Unified Messaging or Edge Transport roles
Federation
Cross-premise message tracking
Cross-premise calendar sharing
IRM
Support for Outlook 2003
Active Directory: Split Permissions; Multi-domain forests
Setup switches: EnableLegacyOutlook, LegacyRoutingServer, AdamLdapPort, PrepareLegacyExchangePermissions, ActiveDirectorySplitPermissions, AddUMLanguagePack, RemoveUMLanguagePack
12. Deployment
13. Setup – General Windows Server 2008 SP2 Platform Pre-reqs
.NET Framework 3.5 SP1
.NET Framework 3.5 Family Update
Windows Management Framework (WinRM 2.0 and Windows PowerShell v2)
RTM: Hub / Mailbox: Microsoft Filter Pack
SP1: Hub / Mailbox: Office 2010 Filter Packs
Windows Server 2008 R2 Platform Pre-reqs
RTM: Hub / Mailbox: Microsoft Filter Pack
SP1: Hub / Mailbox: Office 2010 Filter Packs On Exchange 2010 RTM, you can meet the pre-requsite by installing 2007 Office System Converter: Microsoft Filter Pack. However, it is recommended that you upgrade to the Microsoft Office 2010 Filter Packs.On Exchange 2010 RTM, you can meet the pre-requsite by installing 2007 Office System Converter: Microsoft Filter Pack. However, it is recommended that you upgrade to the Microsoft Office 2010 Filter Packs.
14. Setup – General (SP1) Required Hotfixes
Client Access Servers
KB983440 – Win7 rollup package (PR for QFE 810219)
KB977020 – FIX: An application…throws an exception on a computer that is running Windows 7
KB982867 – WCF: Enable WebHeader settings on the RST/SCT
Optional: additional fix for WCF (KB972251) for specific scenario where smartcards are being used to authenticate access to ECP
15. Setup – General (SP1) Required Components
Unified Messaging Servers
UCMA – Unified Communications Managed API 2.0, Core Runtime (64-bit)
Microsoft Server Speech Platform Runtime (x64)
16. Setup – General Automate Windows 2008 SP2 OS pre-reqs
ServerManagerCmd -i RSAT-ADDS Web-Server Web-Metabase Web-Lgcy-Mgmt-Console Web-ISAPI-Ext NET-HTTP-Activation Web-Basic-Auth Web-Digest-Auth Web-Windows-Auth Web-Dyn-Compression RPC-over-HTTP-proxy Web-Net-Ext –Restart
Pre-defined XML files available with build
Typical Install (M/H/C)
ServerManagerCmd -ip <Exchange install files>\Scripts\Exchange-Typical.xml -Restart Above example is my recommended OS pre-reqs for an all-in-one server. RSAT-ADDS is needed only on first server installed so schema can be extended (if that operation has not already been performed). I recommend installing it on all servers just to have the management tools. RPC-Over-HTTP is needed on CAS servers only. The other IIS components are needed on CAS only, as well, but very useful to have on all Exchange servers for management purposes.Above example is my recommended OS pre-reqs for an all-in-one server. RSAT-ADDS is needed only on first server installed so schema can be extended (if that operation has not already been performed). I recommend installing it on all servers just to have the management tools. RPC-Over-HTTP is needed on CAS servers only. The other IIS components are needed on CAS only, as well, but very useful to have on all Exchange servers for management purposes.
17. Setup – General Automate Windows 2008 R2 OS pre-reqs
Use Add-WindowsFeature cmdlet instead of Server Manager or ServerManagerCmd
Import-Module ServerManager
Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy –Restart
http://technet.microsoft.com/en-us/library/bb691354(EXCHG.141).aspx
18. Setup – General Automate platform pre-reqs
FilterPackx64.exe /quiet /norestart
dotNetFx35setup.exe /quiet /norestart
Client Access servers
Net.Tcp Port Sharing service set to Automatic start
Need to manually set on Windows 2008 SP2Set-Service NetTcpPortSharing -StartupType Automatic It is not a pre-req to have the service started, but you do want it set to Automatic startup and running on CAS servers. This is necessary for moving mailboxes. The Microsoft Exchange Mailbox Replication Service (MRS), which runs on CAS role, listens on TCP port 808. *-MoveRequest cmdlets also use TCP port 808 to communicate with the MRS instances. In order for more than one WCF Services listening on TCP to co-exist on the same box, all services need to implement port sharing; thus, the dependency on Net.Tcp Port Sharing service.It is not a pre-req to have the service started, but you do want it set to Automatic startup and running on CAS servers. This is necessary for moving mailboxes. The Microsoft Exchange Mailbox Replication Service (MRS), which runs on CAS role, listens on TCP port 808. *-MoveRequest cmdlets also use TCP port 808 to communicate with the MRS instances. In order for more than one WCF Services listening on TCP to co-exist on the same box, all services need to implement port sharing; thus, the dependency on Net.Tcp Port Sharing service.
19. Setup – New Experience (SP1) Install required Windows Roles and Features
RTM -> SP1 Upgrade
Setup.com /m:upgrade /installwindowscomponents If you select the option to install Windows roles and features, progress is shown and the appropriate roles and features are installed. If a reboot is required, you will have to reboot the server and launch Setup.com again with the /InstallWindowsComponents parameter. If the Windows roles and features were correctly installed, Setup.com will continue.If you select the option to install Windows roles and features, progress is shown and the appropriate roles and features are installed. If a reboot is required, you will have to reboot the server and launch Setup.com again with the /InstallWindowsComponents parameter. If the Windows roles and features were correctly installed, Setup.com will continue.
20. Setup – New GUI Experience (SP1) Apply strict split permissions security model
Typically used by large orgs that completely separate responsibility for management of Exchange and Active Directory between different groups of people
Removes ability for Exchange servers and admins to create Active Directory objects, such as users, groups and contacts, as well as the ability to manage non-Exchange attributes on those objects
21. PLANNING AND DEPLOYMENT Tools
22. Exchange Server Pre-Deployment Analyzer http://msexchangeteam.com/archive/2010/02/24/454083.aspx
Focuses on overall topology readiness
Performs analysis of Exchange 2003/2007
Supported on Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2, and Windows Server 2003 SP2
23. Exchange Server Deployment Assistant http://technet.microsoft.com/en-us/exdeploy2010
Upgrade from Exchange 2003
Upgrade from Exchange 2007
Upgrade from Exchange 2003/2007
New Exchange 2010 Org
24. Mailbox Server Requirements Calculator http://msexchangeteam.com/archive/2009/11/09/453117.aspx
User profile
High availability architecture
Server's CPU platform
Storage architecture
Backup architecture
Network architecture
25. Mailbox and Public Folder Databases
26. Databases 101 Database is ESE, but with significant changes
Maximum recommended size is 2 TB
Each Standard Edition server supports maximum of 5 databases (active or passive) + 1 recovery database
Each Enterprise Edition server supports maximum of 100 databases (active or passive) + 1 recovery database
Mailbox and public folder databases
Public folders supported until at least 2019
27. Databases 101 Database name and file locations can be specified as part of Setup.com
/Mdbname (name for default mailbox database)
/DBFilePath (path for default mailbox database)
/LogFolderPath (log path for default mailbox database)
Databases are global objects and are therefore managed globally
Database names must be unique in Org
New in SP1 - New-MailboxRepairRequest cmdlet allows you to detect and repair mailbox corruptions while leaving the mailbox database online; New-PublicFolderDatabaseRepairRequest is new for public folder databases
28. Mailbox Auditing (SP1) Audit mailbox access by administrators, delegates, and mailbox owners
Audit actions taken on mailbox items such as
Moving or deleting a message
Using SendAs or SendOnBehalf rights to send messages
Accessing a mailbox folder or a message
Use ECP to generate report on non-owner access
Use the Shell to search mailbox audit logs
29. Mailbox Auditing (SP1) Enable/disable mailbox auditingSet-Mailbox -Identity “Scott Schnoll” -AuditEnabled $trueSet-Mailbox -Identity “Scott Schnoll” -AuditEnabled $false
Specify specific logging settingsSet-Mailbox -Identity “Scott Schnoll” -AuditDelegate MessageBind,FolderBind
Search audit logSearch-MailboxAuditLog -Identity sschnoll -LogonTypes Admin,Delegate -StartDate 1/1/2010 -EndDate 12/31/2010 -ResultSize 2000Search-MailboxAuditLog -Mailboxes sschnoll,rsmith -LogonTypes Admin,Delegate -StartDate 1/1/2010 -EndDate 12/31/2010 -ResultSize 2000 MessageBind is when someone opens a message or views it in preview pane. FolderBind is when a folder is accessed. Copy, HardDelete, Move, MovetoDeletedItems, SendAs, SendOnBehalf, SoftDelete and Update are other activities that can be audited.MessageBind is when someone opens a message or views it in preview pane. FolderBind is when a folder is accessed. Copy, HardDelete, Move, MovetoDeletedItems, SendAs, SendOnBehalf, SoftDelete and Update are other activities that can be audited.
30. Public Folder Client Permissions Get-PublicFolderClientPermission
Displays permissions for public foldersGet-PublicFolderClientPermission "\Sales\09"Get-PublicFolderClientPermission "\Sales\09"-User ScottS -Server MBX4 | FL
New in SP1 – Public folder management console allows you to view and modify client permissions
31. Mailbox Data Import/Export (SP1) Import from or export to PST files asynchronously using new cmdlets and MRS (Mailbox Replication service)
By default, Exchange exports and imports all empty folders, special folders, and subfolders to the target location
Specify folders using IncludeFolders or ExcludeFolders parameters
See Understanding Mailbox Import and Export Requests for full details Special folders include Inbox, Deleted Items, Drafts, Junk E-Mail, Outbox, Sent Items, Journal, Calendar, Contacts, Notes, TasksSpecial folders include Inbox, Deleted Items, Drafts, Junk E-Mail, Outbox, Sent Items, Journal, Calendar, Contacts, Notes, Tasks
32. Mailbox Assistants Troubleshooter (SP1) Mailbox Assistants perform event-based and time-based functions (e.g., free/busy, resource booking, conversations, calendar repair, etc.)
Test-AssistantHealth can be used to verify the health of the Microsoft Exchange Mailbox Assistants services, to recover from health issues, and to report on the diagnosis or recovery action
Includes ResolveProblems parameter which can
Start the service if it is not running
Restart the service if it is hung or deadlocked for more than 15 minutes
33. Database Log Growth Troubleshooter (SP1) Troubleshoot-DatabaseSpace.ps1 detects excessive log growth issues and takes action
By default
Runs every 15 minutes to determine available free space
If free space < 25%, tools runs an algorithm to determine if excessive log growth is cause
If it is cause, the tool quarantines or throttles mailboxes causing excessive growth, as appropriate
Defaults defined in StoreTSConstants.ps1
34. Database Log Growth Troubleshooter (SP1) Tracks a variety of metrics, such as log generation rate and available disk space for database and log file disks
Determines top 25 users that accessed mailbox database during the last one-hour period
Quarantines mailboxes for 6 hours (users have no access to email)
If it cannot drop the generation rate, it logs an event, removes the database from provisioning If it quarantines more than 10 users, this could indicate a systemic issue that requires further attention.If it quarantines more than 10 users, this could indicate a systemic issue that requires further attention.
35. Database Latency Troubleshooter (SP1) Troubleshoot-DatabaseLatency.ps1 used by SCOM, but can be used outside of SCOM as a schedule task
Defaults defined in StoreTSConstants.ps1
Checks for database latencies above value of LatencyThreshold (default is 70 ms)
Checks disk’s transfer rate against read rate and read latency performance counters
Checks to see if any user is using more than one thread for duration of TimeInServerThreshold (default is 10 min)
36. Database Latency Troubleshooter (SP1) Disk’s transfers-per-second rate < DiskReadRateThreshold
Disk’s seconds-per-transfer rate > DiskReadLatencyThreshold
If both conditions are true, it indicates that disk has high latency under low load, which often means the disk is going bad and needs replacing
User using more than one thread for duration of TimeInServerThreshold
Mailbox quarantined for 6 hours
37. the Power ofPowerShell
38. What Edition am I running? Quick, easy way to tell Edition of each Exchange ServerGet-ExchangeServer | ft Name, EditionGet-ExchangeServer <Server> | fl Edition
39. What Version am I running? Get version information for all Exchange serversGet-ExchangeServer | ft Name, *Version*
Get version information for specific Exchange serverGet-ExchangeServer <Server> | ft Name, *Version*
40. Mailbox Database Backup Status Status for all mailbox databases in OrgGet-MailboxDatabase -Status | ft Name, Server, *Backup*
Status for mailbox databases on specific server$Databases = Get-MailboxDatabase -Server <Server Name> -Status$Databases | ft Name, *Backup*
41. Database Availability Group Status Get-DatabaseAvailabilityGroup DAG1 | %{ $_.Servers | %{ Get-MailboxDatabaseCopyStatus -Server $_ } }
Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex
Length Length State
---- ------ --------- ----------- -------------------- ------------
DB2\E14EX2 Mounted 0 0 Healthy
DB5\E14EX2 Healthy 0 0 7/9/2010 11:48:14 AM Healthy
DB1\E14EX2 Healthy 0 0 7/9/2010 9:27:49 AM Healthy
DB3\E14EX2 Healthy 0 0 7/9/2010 11:48:02 AM Healthy
DB4\E14EX2 Mounted 0 0 Healthy
DB1\E14EX1 Mounted 0 0 Healthy
DB3\E14EX1 Mounted 0 0 Healthy
DB4\E14EX1 Healthy 0 0 7/9/2010 12:16:38 PM Healthy
DB2\E14EX1 Healthy 0 0 7/9/2010 12:17:10 PM Healthy
DB5\E14EX1 Mounted 0 0 Healthy
42. Database Availability Group Status Get-DatabaseAvailabilityGroup DAG1 | %{ $_.Servers | %{ Test-ReplicationHealth -Server $_ } }
Server Check Result Error
------ ----- ------ -----
E14EX2 ClusterService Passed
E14EX2 ReplayService Passed
E14EX2 ActiveManager Passed
E14EX2 TasksRpcListener Passed
E14EX2 TcpListener Passed
E14EX2 DagMembersUp Passed
E14EX2 ClusterNetwork Passed
E14EX2 QuorumGroup Passed
E14EX2 FileShareQuorum Passed
E14EX2 DBCopySuspended Passed
E14EX2 DBCopyFailed Passed
E14EX2 DBInitializing Passed
E14EX2 DBDisconnected Passed
E14EX2 DBLogCopyKeepingUp Passed
E14EX2 DBLogReplayKeepingUp Passed
E14EX1 ClusterService Passed
E14EX1 ReplayService Passed
E14EX1 ActiveManager Passed
E14EX1 TasksRpcListener Passed
…
43. Block Mode or File Mode (SP1) Determine if continuous replication is operating in block mode or file modeGet-Counter -ComputerName <DAGMemberName> -Counter "\MSExchange Replication(*)\Continuous replication - block mode Active“
44. Transport Dumpster Statistics get-date;Get-MailboxServer | for each {get-databasecopystatus -MailboxServer $_.identity -DumpsterStatistics | ? {$_.SummaryCopyStatus -ne 'Mounted'}} | foreach {$_.DumpsterStatistics}Monday, July 22, 2010 4:28:33 PM
Server : E14EX1
OldestItem : 7/21/2010 4:21:02 PM
QueueSize : 2840
NumberOfItems : 40
Server : E14EX2
OldestItem : 7/21/2010 4:24:36 PM
QueueSize : 1200
NumberOfItems : 28
45. Log generation per minute per database
Get-MailboxDatabase -Server $env:ComputerName | %{ Get-ChildItem -Path $_.LogFolderPath -Filter "*????.log" | Group-Object -Property {$_.LastWriteTime.Day,$_.LastWriteTime.Hour,$_.LastWriteTime.minute} | ?{$_.Count -gt 1} | Measure-Object -Property Count -Min -Max -Ave }Count : 43
Average : 4.11627906976744
Maximum : 28
Minimum : 2
46. Log generation per minute per server
Get-MailboxDatabase -Server $env:ComputerName | ?{ %{$_.DatabaseCopies | ?{$_.ReplayLagTime -ne [TimeSpan]::Zero -And $_.HostServerName -eq $env:ComputerName} } } | %{ $count = 0; $MinT = [DateTime]::MaxValue; $MaxT = [DateTime]::MinValue; Get-ChildItem -Path $_.LogFolderPath -Filter "*????.log" | %{ $count = $count + 1; if($_.LastWriteTime -gt $MaxT){ $MaxT = $_.LastWriteTime}; if($_.LastWriteTime -lt $MinT){ $MinT= $_.LastWriteTime} }; ($count / ($MaxT.Subtract($MinT)).TotalMinutes) } | Measure-Object -Min -Max -Ave
Count : 317
Average : 3.18927444794953
Maximum : 58
Minimum : 2
Property : Count
47. SP1 improvement Quickies
48. New Exchange Control Panel UI Create and configure transport rules
Create and configure journaling rules
Manage Exchange ActiveSync policies
Manage RBAC Roles Groups and User Roles
Create and manage resource mailboxes
Create and manage security groups
Create and manage Allow/Block/Quarantine policies
SP1: Admins no longer need to have a mailbox to be able to access ECP New ECP UI
Capabilities that were previously available via PowerShell only or available in the EMC which restricted the ability of an IT Pro to delegate these tasks to non-admins via ECP and prevented these tasks from being exposed in management UI for the tenant admin.New ECP UI
Capabilities that were previously available via PowerShell only or available in the EMC which restricted the ability of an IT Pro to delegate these tasks to non-admins via ECP and prevented these tasks from being exposed in management UI for the tenant admin.
50. Flexible and Reliable Improved High Availability and Disaster Recovery
Enhanced form of continuous replication
Improved client experience for cross-site failover
DAC mode support for all DAGs
Faster failovers with improved post-failover client experience
Automatic active mailbox database redistribution
51. Flexible and Reliable SMTP Failover and Load Balancing Improvements
Enhanced DNS is used to evenly load balance when all servers are healthy, but things become uneven when a server is unhealthy
SP1 introduces new behavior that detects and tracks unhealthy servers
For example, Hub1 needs to route several messages to another site which contains Hub2, Hub3, and Hub4. If Hub1 knows that Hub3 is unavailable, it'll remove that server from the list of possible targets and only route to Hub2 and Hub4, evenly load balancing across them
52. Anywhere Access Improved Outlook Web App UI
Simplified UI better optimizes for small screens
Support for calendar printing
Support for adding inline images while composing new e-mail
Themes and customization support
Improved OWA Performance
Long running operations do not block user experience
Auto-save drafts while composing new e-mail
53. Anywhere Access Better Mobile Experience
Conversation view experience on par with Outlook Web App
Photos supported in Global Address List contact card
Exchange ActiveSync (EAS) throttling support
Information Rights Management support in EAS
Block/Quarantine notification to mobile device via EAS
54. Protection and Compliance Personal Archive Enhancements
Archive and primary mailboxes on separate databases
Outlook 2007 support for personal archive
.PST file import/export for archive and primary mailboxes
Support for “admin enabled” delegate access to archive
Archive provisioning and configuration with Exchange Control Panel
Exchange Web Services access to the archive mailbox
55. Protection and Compliance Retention Policy Management Enhancements
Create and Configure Retention Tags and Policies in EMC
User Self-service for selection of optional Retention Policies in ECP
Multi-Mailbox Search Enhancements
Search results preview including item count and keyword statistics
Optional de-duplication of search results
56. Protection and Compliance New Information Protection and Control Capabilities
View protected documents with OWA Web Ready Document Viewer
Improved support for federated B2B IRM scenarios
57. Question & Answer Session
59. Resources