http://ignite.office.com http://aka.ms/E15RTM http://aka.ms/E15GA http://aka.ms/ServiceGA http://aka.ms/E15RTMCU1 http://aka.ms/E15RTMCU2 http://aka.ms/E15Servicing Legacy Client Access Server Role Hub Transport Server Role Unified Messaging Server Role Exchange Management Console Exchange Control Panel RPC/TCP Connectivity for Outlook Clients Support for Outlook 2003 Legacy Information Store (store.exe) Legacy database caching algorithm (DBA) Microsoft Search Public Folder databases and replication Virus Scanning API (VSAPI) Third-party integration with Information Store Managed Folders Ability to remove individual server roles UM lookups using automatic speech recognition Legacy Outlook Web App S/MIME Bottom reading pane Distribution list moderation Reply to messages sent as attachments Access to shared email folders Server Role Architecture Client Access Server Managed Store Managed Availability Search Foundation Exchange Admin Center Outlook Web App Apps in Outlook Web App LinkedIn integration Contact linking Multi-calendar views Touch interface for mobile devices Data Loss Prevention In-Place Hold; In-Place eDiscovery Integration with SharePoint and Lync Site mailboxes Unified contact store Archive Lync content Built-in Anti-malware protection Batch mailbox moves New site resilience configuration options Modern Public Folders Enhanced Caller ID support in UM Workload Management Exchange Team blog – http://aka.ms/EHLO Exchange 2013 IT Pro forums - http://aka.ms/E15Forums Exchange 2013 Developer forums - http://aka.ms/E15DevForum Exchange 2013 KB RSS feed - http://aka.ms/Ex2013KB Third-Party Exchange 2013 - forums http://exchangeexchange.com/forum/ http://aka.ms/E15LIForum (LinkedIn) http://forums.msexchange.org/forumid_4033/tt.htm http://aka.ms/ExGForums (Google) Office 365 forums - http://aka.ms/Office365Forums Exchange documentation - http://aka.ms/E15CHM Exchange 2013 poster - http://aka.ms/Ex2013APDL DLP policy templates - http://aka.ms/ExDLPUpd Office Visio stencils - http://aka.ms/O15Shapes UM language packs - http://aka.ms/E15UMLP EWS managed API 2.0 - http://aka.ms/EWSMAPI2 New | Remove-RPCClientAccess New | Get | Set | Remove-RoutingGroupConnector Test-SystemHealth New | Get | Set | Test | Update-TeamMailbox and all other Team Mailbox-related cmdlets Set-MailboxServer’s MessageTracking parameters Set | New-MailboxSearch’s SearchDumpster parameter Get-LogonStatistics* 646 functions and cmdlets in Exchange 2010 937 functions and cmdlets in Exchange 2013 CU1 944 functions and cmdlets in Exchange 2013 CU2 Review the guidance - http://aka.ms/Ex2013PerfBlog Gather data on existing environment, if any Determine requirements that affect sizing Calculate the requirements for Exchange Determine scale, storage, resiliency requirements Validate storage with Jetstress 2013 It is not an upgrade; it is a new calculator that uses a new server baseline for calculations Includes a PowerShell script to automate DAG creation Includes Client Access Server sizing Includes transport sizing, factoring in message queue expiration and Safety Net hold time when calculating the database size Recommends multiple databases per JBOD volume Supports three-datacenter deployment for DAGs http://aka.ms/E2013Calc http://aka.ms/Ex2013CalcRM strgcalc@microsoft.com Verify performance and stability of your disk subsystem before putting your Exchange Server into a production environment Jetstress simulates the Exchange database and log file loads produced by a specific number of users Use Performance Monitor, Event Viewer, and ESEUTIL in conjunction with Jetstress to verify that your disk subsystem meets or exceeds the performance criteria you establish Download from http://aka.ms/Jetstress2013 Tell us what kind of deployment you’re interested in Answer a few questions about your environment Then view Exchange deployment instructions created just for you On-premises Exchange 2007 upgrades, Exchange 2010 upgrades, and greenfield Hybrid Cloud http://aka.ms/ExDeploy Accelerated project delivery Increased quality of delivery Improved availability of solution (design targets 99.9% Service Level Target) Alignment with Office 365 that enable hybrid deployments and cloud migrations Downloadable tool to identify connectivity issues for Outlook, Lync, Office 365 Downloadable Microsoft Lync Connectivity Analyzer Tool also available http://aka.ms/uucwj5 Paste in message headers and receive analysis of message transport information http://www.ExRCA.com http://aka.ms/MsgAnalyzer http://aka.ms/outlookconnectivity Simplified dashboard makes it easier for you quickly determine exactly what your users are experiencing Active Alerts provides a list of all outstanding alerts in your organization Organization Health provides an overview of the overall service health in your organization Server Health provides an overview of the health of individual servers in your organization http://aka.ms/Ex2013MP Replaces OCAT (Outlook Configuration Analyzer Tool) Uses BPA framework Scans Access, Excel, Outlook, PowerPoint, and Word http://aka.ms/OffCAT Traditional desktop view (3-column mouse-based UI) Tablet view (2-column touch UI aka twide) Phone view (1-column touch UI aka tnarrow) https://<FQDN>/owa/?layout=tnarrow https://<FQDN>/owa/?layout=twide Default is 20% of Dumpster Quota Learn what client made the last operation on the calendar item Learn what action was last performed on a calendar item View a change history of the calendar item Quickly pivot on a well-known set of properties that are most important to calendar items Allow user to quickly access full set of properties An executive shows up to a meeting and is the only one there You collect calendar logs from organizer and one attendee You run analysis on collected logs to generate the timeline And you find that the executive used some device to edit a single meeting, and it caused their whole series to be deleted Transport measures the rate of messages entering and leaving a queue and stores these values in queue properties You can use these values as an indicator of queue and transport health Rate at which messages are entering the queue Calculated from the number of messages entering the queue every 5 seconds averaged over the last 60 seconds (i1+i2+i3+i4+i5+i6)/6 where in is the number of incoming messages in 5 seconds (o1+o2+o3+o4+o5+o6)/6 where on is the number of outgoing messages in 5 seconds Represents the drain rate of the queue O-I=V (OutgoingRate – IncomingRate = Velocity) If V>0, messages leaving queue faster than they are entering (fast queue) If V=0, messages leaving queue as fast as they are entering (balanced queue) If V<0, messages entering queue faster than they are leaving (slow queue) A queue that has a large negative Velocity, a large MessageCount value, a small OutgoingRate value, and a large IncomingRate value indicates that the queue isn't draining properly A queue with a negative Velocity that's almost zero that also has very small values for IncomingRate, OutgoingRate, and MessageCount doesn't indicate a problem with the queue Queue velocity exposed via Get-Queue Identity -------EX1\Submission EX1\Unreachable EX1\Shadow\12 DeliveryType -----------Undefined Unreachable ShadowRed... Status -----Ready Ready Ready MessageCount -----------0 46 1 Velocity -------0 0 0 RiskLevel --------Normal Normal Normal OutboundIPPool -------------0 0 0 NextHopDomain ------------Submission Unreachable Domain ex2.e15demos.com Identity -------EX2\Submission EX2\Unreachable EX2\Shadow\12 DeliveryType -----------Undefined Unreachable ShadowRed... Status -----Ready Retry Ready MessageCount -----------12 2 0 Velocity --------0.19 -0.02 0 RiskLevel --------Normal Normal Normal OutboundIPPool -------------0 0 0 NextHopDomain ------------Submission Unreachable Domain ex1.e15demos.com It does not work with Exchange 2007 The Queue Viewer operation on Computer "Server" has failed with exception. The error message is: Unknown error (Oxe043f4d) Transport Service takes snapshot of queue every 60 seconds Cannot be turned off Logs to CSV text file at \Program Files\Microsoft\Exchange\Server\V15\TransportRoles\Logs\Hub\QueueViewer\ Records any queues with messages (including internal queues) Does not record empty queues, shadow queues, or poison queues Logs the following information: Next Hop Next Key Message Count Deferred Message Count Locked Message Count Incoming Rate Outgoing Rate Velocity Next Hop Category Risk Level Next Hop Connector TLS Domain Last Error Data Example queue log entry QUEUE,EX1\6,Retry,DnsConnectorDelivery,contoso.com,(contoso.com)::1:1:9 b0e07:0::0;,11,0,0,0,0,0,External,Normal,9b0e07a0767946149b3c6c4162a0f4 da,,"451 4.4.0 Primary target IP address responded with: ""421 4.2.1 Unable to connect."" Attempted failove",, SUMMARY,,,,,,,,,,,,,,,,,TotalMessageCount = 23; PoisonMessageCount = 0, http://aka.ms/TRFileTypes http://aka.ms/ExIFilters Search Process: Microsoft Exchange Search (Microsoft.Exchange.Search.Service.exe) Host Process: Microsoft Exchange Search Host Controller (HostControllerService.exe) Worker Processes: NodeRunner.exe (x4) Admin Content Index Query KQL cheat sheet: syntax and examples Category Boolean AND, OR, NOT Expression, string operands (foo OR BAR) (To:Jane AND From:Mark) federated search Free-Text keyword (see note) String federat* search search fed* Phrase keyword Comparison operators Property filters String operators String "This is my search query" >, <, <=, >=, =, ≠ String, supported value types (received >= 1/1/2010) <propertyname> <op> <propertyvalue> propertyname: exchange supported property name To:”Jane Doe” op: supported property operator ( Supported operators include :, =, <, >, <=, >=, <>, .. propertyvalue: appropriate value type (To:Jane AND From:Mark) (received >= 1/1/2010) Default for all string expressions. Begins with String Proximity (see note) NEAR String Federated NEAR Search Synonym (see note) WORDS String WORDS(TV, Television) Include/Exclude "+", "-" String E.g. (foo OR bar) Determine if public folder mailbox has up-to-date copy of hierarchy Get-PublicFolder \ -recurse -resultsize unlimited | where {$_.contentmailboxname -eq "<PF Mailbox ID>"} List only public folders with content Get-PublicFolder \ -recurse -resultsize unlimited -Mailbox <PF Mailbox ID> -ResidentFolders Move public folder content between mailboxes New-PublicFolderMoveRequest -Folders "\Folder1","\Folder1\Child1" TargetMailbox <PF Mailbox Identity> Notes: Subfolders underneath specified folders are not moved by default Each folder to be move must be listed in the –Folders parameter Only one move request at a time; use Remove-PublicFolderMoveRequest to remove completed move requests Recover deleted modern public folder When a modern public folder is deleted, it is moved to \NON_IPM_Subtree\Dumpster_Root To recover deleted modern public folder: Set-PublicFolder "\NON_IPM_Subtree\Dumpster_Root\<FolderToRecover>" –Path "\ParentFolder" Get-HealthReport Get-ServerHealth *-MonitoringItemIdentity *-ServerMonitoringOverride *-GlobalMonitoringOverride Exchange Server health summary Get-HealthReport -Identity <ServerName> Get-HealthReport <ServerName> -RollupGroup Get-HealthReport <ServerName> -RollupGroup -HealthSet <HealthSetName> (Get-DatabaseAvailabiltyGroup dag1).Servers | Get-HealthReport –RollupGroup Get-ServerHealth –Identity <ServerName> | ft Server,CurrentHealthSetState,Name,HealthSetName,AlertValue,HealthGroupName –auto If a Health Set is Unhealthy, find out why Get-ServerHealth -Identity <Server Name> -HealthSet <Unhealthy HealthSet> All recovery actions can be collected using PowerShell: $RecoveryActionResultsEvents = Get-WinEvent -ComputerName <Server> LogName Microsoft-Exchange-ManagedAvailability/RecoveryActionResults You can use the events in the above format, but it is easier to work with the event properties if you use PowerShell’s native XML format: $RecoveryActionResultsXML = ($RecoveryActionResultsEvents | Foreachobject -Process {[XML]$_.toXml()}).event.userData.eventXml Id - Action that was taken. Common values are RestartService, RecycleAppPool, ComponentOffline, or ServerFailover State - Whether the action has started (event 500) or finished (event 501) ResourceName - The object that was affected by the action. This will be the name of a service for RestartService actions, or the name of a server for server-level actions EndTime - The time the action completed Result - Whether the action succeeded or not RequestorName - The name of the Responder that took the action Why did the Replication service restart yesterday? $RecoveryActionResultsXML | Where-Object {$_.State -eq "Finished" -and $_.ResourceName -eq "MSExchangeRepl" -and $_.EndTime -like "2013-1010T21*"} | ft -AutoSize StartTime,RequestorName StartTime --------- RequestorName ------------- 2013-10-10T13:49:18.2113618Z ServiceHealthMSExchangeReplEndpointRestart Get Responder definitions $DefinedResponders = (Get-WinEvent -ComputerName <Server> -LogName Microsoft-Exchange-ActiveMonitoring/ResponderDefinition | % {[xml]$_.toXml()}).event.userData.eventXml To get the Monitor for the ServiceHealthMSExchangeReplEndpointRestart Responder $DefinedResponders | ? {$_.Name -eq “ServiceHealthMSExchangeReplEndpointRestart”} | ft -a Name,AlertMask Name --------- AlertMask ------------- ServiceHealthMSExchangeReplEndpointRestart ServiceHealthMSExchangeReplEndpointMonitor Get Monitor definitions $DefinedMonitors = (Get-WinEvent -ComputerName <Server> -LogName Microsoft-Exchange-ActiveMonitoring/MonitorDefinition | % {[xml]$_.toXml()}).event.userData.eventXml To get the Probes for the ServiceHealthMSExchangeReplEndpointMonitor Monitor Name TargetResource (Get-WinEvent -ComputerName <Server> -LogName Microsoft-Exchange--------------------ActiveMonitoring/ProbeDefinition | % {[XML]$_.toXml()}).event.userData.eventXml | ? {$_.Name MSExchangeRepl -like ServiceHealthMSExchangeReplEndpointProbe/ServerLocator “ServiceHealthMSExchangeReplEndpointProbe*”} | ft -a Name, ServiceHealthMSExchangeReplEndpointProbe/RPC MSExchangeRepl TargetResource ServiceHealthMSExchangeReplEndpointProbe/TCP MSExchangeRepl Get Probe error messages $replEndpointProbeResults = (Get-WinEvent -ComputerName <Server> -LogName Microsoft-Exchange-ActiveMonitoring/ProbeResult FilterXPath "*[UserData[EventXML[ResultName='ServiceHealthMSExchangeReplEndpoi ntProbe/RPC/MSExchangeRepl'][ResultType='4']]]" | % {[XML]$_.toXml()}).event.userData.eventXml Get a graphical view of output $replEndpointProbeResults | select -Property *Time,Result*,Error*,*Context,State* | Out-GridView http://support.microsoft.com/kb/2823959 http://aka.ms/Ex2013Docs http://aka.ms/EHLO © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.