Forum Widgets
Latest Discussions
HCW Error when configuring the mail flow
Hi All, im trying to run the HCW and i have the below error when it reach the mail flow configuration. HCW0000 PowerShell failed to invoke 'New-InboundConnector': Parameter count mismatch. An unexpected error has occurred and a Watson dump is being generated: Parameter count mismatch ThanksTeka TekaMay 17, 2017Copper Contributor52KViews2likes84CommentsUse Microsoft Flow to receive an email for changes to Office 365 IP Addresses and URLs
[Edit 4/16/2019: I've rewritten this article, please take a look here: https://github.com/pandrew1/Office365-IPURL-Samples/tree/master/FlowNotifications] If you manage an enterprise network that uses Office 365 you are probably familiar with Office 365 IP Addresses and URLs you probably also know that there are updates to these about once a month. This article demonstrates how you can use Microsoft Flow to alert you with an email whenever there are changes to the Office 365 IP Addresses or URLs. The flow will fetch the latest version of Office 365 network endpoints once an hour and it will compare that with the previous one that you have seen. The previous version that you have seen is stored in a SharePoint Online list on your Office 365 tenant. You will need to have an Office 365 tenant and the ability to create a SharePoint list that you have read/write access to. The Flow created in this article is not supported by Microsoft and you should follow your own development review processes before relying on it in a production environment. If you make improvements to this Flow, we would like to hear from you. Let us know in the comments below. Step 1 – Create a SharePoint list for the project Figure 1 - An example empty SharePoint Online site Figure 1 shows an example empty SharePoint Online site. Click the Lists menu item in the left navigation menu, then click “New”, and select “List” to create a new list. Figure 2 - Create a new list We will call the new list Endpoints so type that in the Name field. Figure 3 - Create list form Figure 4 - New list created for the local data Add text columns by clicking the “Add column” button for Latest (Single line of text), Endpoints (Multiple lines of text), and Previous (Single line of text). Figure 5 - New columns You will also want to make the ID column visible. Do this select All Items at the top right and select Edit view. Check the box next to the ID field and select OK. Figure 6 - Making the ID column visible in the view Add a seed item for the Flow to read. Add the “title” as “Worldwide” and add the “Latest” as “0000000000”. Other fields are not required. Save this and you’re now ready to create the flow that references this list. Keep a Web Browser tab open with this list. You will need the URL for it later. Figure 7 - Creating a seed item for the list Step 2 – Sign up for Microsoft Flow Flow requires sign-up. I’ve only used free elements in Flow for this. You can read about the sign-up process and the free and paid plans at https://docs.microsoft.com/en-us/flow/sign-up-sign-in Once you’ve signed up you can go to flow at https://flow.microsoft.com Step 3 – Create a flow At the flow home page, select My Flows from the top menu. It takes you to https://flow.microsoft.com/manage/flows. On the My Flows page you can select Create from blank to create your flow. Figure 8 - Create from blank command Step 4 – Add the trigger A trigger starts your flow executing. We’re going to check the version of the Office 365 network endpoints once an hour, so our trigger is going to be a schedule. Figure 9 - Search triggers command Click on the search command and you should see the schedule trigger. If you don’t see it, you can type “Schedule” into the search box. Configure the schedule trigger to run once an hour. Then click the New step command and choose Add an action. Figure 10 - Configured schedule trigger Step 5 – Add the first command and configure it The first command is to get the last version of the network endpoints data that we saw from your SharePoint Online list. Figure 11 - Searching for SharePoint - Get items This command needs configuration. Enter the site address where the SharePoint list that you created earlier is located. You will need to authenticate to your Office 365 subscription for that. You may be able to select your SharePoint site from the drop-down list once you are authenticated. Then add the name of the list. Figure 12 shows the SharePoint list that I am using which you will not have access to. Figure 12 - Configuration for SharePoint Online list Step 6 – Add the command to check Office 365 network endpoint data version Click the New step button under your Get items action and select Add an Action again. Type HTTP and select HTTP – HTTP from the list of action search results as shown in Figure 13. Figure 13 - Search results for HTTP action Configuration of this action is really simple. Select the GET method and enter the Uri for the endpoints version web method as shown in Figure 14. You can use any GUID as the ClientRequestId or copy the one in the figure. Test the Uri in a web browser before you put it into the Flow. In the web browser you should see a result that has the same format as in Figure 15. Keep this web browser window open as we will refer to it later. Figure 14 - Configured HTTP action Figure 15 - Example web service call in Web Browser Step 7 – Add a command to apply schema to the JSON output This next command is required to identify the output of the web service request as JSON by providing the data structure that is used. Click Add action and enter “Parse JSON” in the search field. You should see the action in the search results. Figure 16 - Parse JSON action The Parse JSON action requires two fields to be entered. The Content field will be the first dynamic content field that you enter. To do this you click in the Content field and the Dynamic content window will appear. You just have to click Body in the HTTP section of this and you will see Body appear in the Content field. There’s more to these fields as we’ll see later, but this one is that easy. Figure 17 - After selecting the HTTP Body content item Next you will enter the schema. You can enter the schema directly, but it’s easier to have Flow generate it. Click “Use sample payload to generate schema” and you’ll see a popup. Go back to the browser window you had open in Figure 15. Figure 18 - Right click on selected web service output Copy the output and paste it into the Flow “Enter or paste a sample JSON payload” window. You should see the schema generated as in Figure 19. Figure 19 - Configured Parse JSON action Step 8 – Compare the current version to the SharePoint list item(s) The SharePoint list may return multiple items so we need to figure which one we are working with. To simplify this, we will just compare the latest version with all of the SharePoint items. This is done by adding the “Apply to each” action. Figure 20 - adding the apply to each action The Apply to each action requires configuration and Dynamic content makes this pretty easy. Only one item shows up and it’s the right one. Click the “value, List of Items” content in the Dynamic content pane to select it for the Apply to each configuration. Figure 21 - Configured Apply to each action The “Apply to each” works like a loop. We’re going to add a condition inside of it next and that condition will get executed for every result. There will typically only be one item in the SharePoint list. Step 9 – Add the comparison condition Click Add a condition within the Apply to each action. You should see Figure 22 Figure 22 - Adding a new condition to the Apply to each To configure the condition, we have to setup the three fields. Click within the left field and the Dynamic content pane will appear with lots of items. Scroll down to the section titled “Get items” and find the SharePoint item column called Latest. If this doesn’t appear then you may not have added it to the SharePoint list configuration so go back and add that. Figure 23 - Choosing the Latest column from your SharePoint list Next choose “contains” in the second field as the condition. And then click in the third field to bring up the Dynamic content window again. This time we will select “latest” from the Parse JSON section. Figure 24 - The third field in the condition You’ve now created a condition that compares the version of the endpoint data that you have in your SharePoint Online list with the version of the endpoint data that you just got from the web service. If these are the same, then the Flow can exit. This is the Green path labelled “If yes”. If these are not the same, then we have more work and we will add some more actions to the Red path labelled “If no”. Figure 25 shows what it will look like when you’re complete. Walking through these one by one: Get the latest endpoints data Get the changes since last time you got an update Create an email and attach the two outputs of the latest endpoints data and the changes Add a new item to the SharePoint Online list to represent the new latest version Delete the old latest item from the SharePoint list. You can omit this and keep all the old versions if you choose Figure 25 - Completed "If no" path in the condition Step 10 – Add the two HTTP GET actions Click Add an action within the Red path that is labelled “If no”. Type HTTP and select the HTTP – HTTP action. Configure this action as GET, and with the Uri for getting the latest endpoints data. Again, you can test the Uri in a web browser. This is the Uri: https://endpoints.office.com/endpoints/worldwide?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a7 Click Add an action underneath the HTTP 2 action that you just added and add another one in the same way. Configure this one as GET also. The Uri for this one is a little more complicated. Here’s a Uri you can test in a web browser which has the latest version listed as 0000000000: https://endpoints.office.com/changes/worldwide/0000000000?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a8 We’re going to use that, but the previous version will come from your SharePoint Online list instead of being 0000000000. Add this text to the Uri field: https://endpoints.office.com/changes/worldwide/ With the field still selected and the cursor at the end of that text make sure that the Dynamic content window it is showing. If it isn’t then you will need to click on “Add dynamic content”. Scroll to the “Get items” section and click “see more” to show all the columns from the SharePoint Online list and select “Latest”. We are going to use the latest attribute to provide a parameter to the changes web service so that we see all of the changes since that version. This is what you want to review and apply to your network perimeter devices since the last update you took. Once you click Latest, you should see the action configured as in Figure 26. Figure 26 - The parameter for the changes web service To complete the Uri, we need to add the clientrequestid parameter. You can just click in the field after the Latest tag and type or paste the extra text in. ?clientrequestid=b10c5ed1-bad1-445f-b386-b919946339a8 Once you’ve done that you should have two GET actions that look like this with parameters. If you get the “Enter a valid uri” error you need to fix this. I fixed this by selecting the URL and using CTRL-X and CTRL-V. You can also test the Uri in a web browser. Figure 27 - Two configured HTTP GET actions for fetching endpoint data Step 11 – Sending an email or getting a review and approval on the updates We’re going to add a “Send an email” action to the flow next. You could alternatively use an approval request action here and have the changes reviewed before being sent out if that’s required in your process for these updates. Click “Add an action” underneath the HTTP 3 action. Search for “Send an email” and add it to the flow. This action is in the “Office 365 Outlook” connector and will likely be the first search result. Fill in the To, Subject, and Body fields to be whatever you want. You can use fields from the Dynamic content window in these also. Click advanced options so that we can add the attachments. Also, you can set a From address which either needs to be an account that you have Send as permissions on, or a Distribution List that you are the owner of. Click “Add new item” to add a second attachment and configure both as shown in Figure 28. You can see that some of the text is typed into the field and some is from the Dynamic content generator similar to the HTTP 3 GET action. The four Dynamic content items in order are: Get items -> Latest HTTP 3 -> Body Parse JSON -> latest HTTP 2 -> Body Figure 28 - Configured Send an email action The email will have two attachments with contextual filenames where the first contains the data from the web service listing the most recent changes and the second contains all the network endpoints data. To help debug these fields you can hover over the Dynamic content fields and see the code behind them. This shows which flow activity the content came from and the field on that flow activity. This text is also shown in the JSON downloadable version of the flow. Step 12 – Cleaning up the SharePoint Online list In this step we will add the new latest seen version to the SharePoint list and delete the old item. We will add an action called “Create item” which is in the SharePoint connector. Search for it by typing “Create item” in the search box. Enter your SharePoint Online site address and select your list name. Once the list is selected you should see the columns appear from your list and we will populate several of these from Dynamic content. If the column names don’t appear, check that they are included in the list on your SharePoint Online site. Title: select Dynamic content Parse JSON -> Instance Latest: select Dynamic content Parse JSON -> latest Endpoints: select Dynamic content HTTP 2 -> Body Previous: select Dynamic content Apply to each -> Latest Figure 29 - Configured Create item action Add another action and search for “Delete item” in the SharePoint connector. Enter the same SharePoint Online list site address and list name as before. The Id can be found in the Dynamic content window in the “Apply to each” section. For some reason it was missing when I did this. You don’t want to choose the Id column from the Create item action because that would delete the item you just created. If it’s not in the Apply to each section you can add it manually by opening the Dynamic content window, and selecting the Expression tab. Next enter this as the expression text. Items('Apply_to_each')['Id'] Figure 30 - Configured Delete item action Step 13 – Save and Test You can now save and test the Flow directly on the editing window. After you click Test you will see this question. Select “I’ll perform the trigger action”. Figure 31 - Testing the flow Figure 32 - Running the flow After the flow has run, you can review the execution steps. Figure 33 shows a run where no new version was detected. Figure 34 shows a Flow run where a new version was detected, and the email was sent. To pretend that a new version has been detected you can simply edit the list item on SharePoint Online and set the previous version to something old such as 2017010100. Then run the flow and it will think there’s a new version on the web service so that you can test the “If no” path. Figure 33 - Execution steps for the Flow Figure 34 - Successful Flow run where a new version was detected Summary You could extend this Flow with approvals as needed and forward the changes to your team who manages network perimeter updates.PaulAndrewAug 30, 2018Microsoft91KViews9likes39CommentsMigrating to the new web services based publishing for Office 365 IP Addresses and URLs
We announced in April that the Office 365 IP Addresses and URLs page was being replaced with access to the data from new web services. See http://aka.ms/ipurlblog for the announcement. I’ve heard a few requests for guidance on how to migrate to the new web services. We publish network endpoint data for Office 365 across the five service instances and each has separate network connectivity. They are: Office 365 worldwide commercial Office 365 US Government GCC High Office 365 US Government DoD Office 365 Germany Office 365 operated by 21Vianet For each of these we publish am HTML page with tables that list the URLs and IP Address ranges that must be accessible. We also publish an XML file for each and have an RSS feed which is updated to show changes. These are all planned to be deprecated and no longer updated from October 2 nd , 2018. Depending on how you use the current data, you will have a different recommended path for migrating to the new web services which provide the data. The new web services provide IP Address and URL network endpoint data in JSON format along with other attributes that were previously only available in the HTML tables and some new attributes. We will be providing new published HTML tables and RSS feeds that are based off the web services data. Here are some existing scenarios where customers use the data along with how we recommend migrating to the new web services. Using the XML file for firewall or proxy server configuration using a script The XML files that we publish will no longer be updated from October 2 nd , 2018 so it’s particularly important to migrate off them. Typically, if you have script that is downloading these files it will be necessary to update it to use the JSON data from the web services. Although these are different formats, most scripting languages have native support for both, so the update should be straight forward. We provide sample scripts for accessing the data in PowerShell and Python in the web services user guide. Screen scraping data attributes from the HTML web page Although Microsoft doesn’t support screen scraping of the HTML published data we understand that some customers do this to get additional attributes about Office 365 network endpoints from the HTML tables. The good news is that you don’t need to do this any longer. All supported attributes are available in the new web services so there will be no longer any need for screen scraping of the HTML tables. Please discontinue any screen scraping. Classifying network traffic by the Office 365 application for reporting purposes Some customers look at the destination IP Address and map it to the Office 365 Product name listed in the XML file. This Product list has inconsistencies, is missing dependencies, has out of date names and we do not support selection of individual Office 365 applications by network endpoint so we are removing it. We are replacing this with a shorter list of Service Areas for which selective enablement is supported. There are three service areas which can be selected independently and a fourth common service area. This table shows the mapping of the old Product to the new Service Areas. Two of the old Product names no longer exist and are shown mapped to <Removed>. Old XML Product New JSON ServiceArea WAC Common Sway Common Planner Common ProPlus Common Ex-Fed <Removed> Yammer Common Teams Skype OfficeiPad Common OfficeMobile Common RCA <Removed> OneNote Common EXO Exchange SPO SharePoint Office365Video Common LYO Skype Identity Common CRLs Common o365 Common EOP Exchange Although we recommend enabling all service areas, you can select which service areas to return data when calling the web services. The Common service area is always returned since the other service areas have a dependency on it. The specific service area name is also included in the web services attributes returned. Here’s an example PowerShell script command to get endpoint data for the Exchange Online service area and the Common service area: Using the RSS publishing to have changes reviewed and then applied to networking devices We will be replacing the current RSS feed so that customers who are familiar with using an RSS reader to get notification of changes can still do so. The old RSS feeds will all be removed after October 2 nd , 2018. The URLs for each RSS feed will be changing, and the structure of the text returned, and the number of updates will be improved on. You can also use Microsoft Flow to create review and update processes to respond to IP Address and URL changes. We’re working on an article which demonstrates how to set this up. I’ll update this page with a link to that article once it is available. Just searching for an IP Address If you use the IP Addresses and URLs page just for searching for an IP Address that you see in a log file, then you can continue to do that. The current HTML tables of the network endpoints are manually edited, and we are going to be removing them. We will republish the HTML tables as generated from the web services. You will still need to search for the IP Address network (or CIDR) that contains the IP Address you want. Summary The new web services are improved over the old publishing, but there will still be some migration work required. The above recommendations are intended to help you to plan for the changes. How do you use the existing Office 365 network endpoint data? Are there any other scenarios that you are using the existing published IP Address and URL data for? Let us know.PaulAndrewAug 16, 2018Microsoft20KViews0likes32CommentsMicrosoft 365 network connectivity test tool now with report sharing is released to preview
We’re excited to announce a new preview release of the Microsoft 365 network connectivity test tool at https://connectivity.office.com today. This update builds on the existing features (network connection map, 20+ network connectivity tests) and adds a connection to your Microsoft 365 tenant so you can submit your test report to your administrator in the Microsoft 365 Admin Center. The update also features a new, streamlined user interface and updated documentation. The tool shows elements detected from your network perimeter in a map: We are maintaining all the existing tests we currently run: Network backhaul distance from the user to the network egress In use Exchange Online service front door Comparative performance of Microsoft 365 customers near you Time to make a DNS request on your network Distance to your DNS recursive resolver Distance to y our proxy server if one is detected Your VPN if one is detected and evaluation of whether you are following split tunnel guidance Exchange Online service front door network latency Best Exchange Online service front doors for your location The in-use Exchange Online DNS entry SharePoint Online service front door latency SharePoint and OneDrive download speed Buffer bloat while under download load SharePoint Online service front door DNS entry Microsoft Teams media connectivity UDP Packet loss UDP latency UDP jitter TCP Connectivity tests to all required Microsoft 365 URLs Detection of any SSL break and inspect intermediary devices on Microsoft 365 URLs Traceroute details for each service front door for Exchange Online, SharePoint Online, and Microsoft Teams Documentation for the tool and each of the tests can be found here: https://docs.microsoft.com/microsoft-365/enterprise/office-365-network-mac-perf-onboarding-tool NEW: Connection to your Microsoft 365 tenant and ability to submit test reports to the Microsoft 365 Admin Center. You do not need to sign in to run the tests and see results, but if you sign in you are then able to share test reports with your administrators, your account team at Microsoft, your coworkers, and with anyone using a deep link URL. Sharing with coworkers and with a deep link URL are controlled by the tenant administrator. By default, the deep link URL sharing is disabled in connectivity.office.com but an Administrator can enable it. Coworker sharing is enabled by default for connectivity.office.com but can be disabled by an administrator. Once you have shared the report, send the other user(s) a link to https://connectivity.office.com/reports and ask them to sign-in. You can review test reports that you previously ran while signed in by selecting the Reports node. There is also a page showing the status of Microsoft’s global network and any issues impacting Microsoft 365. Tenant administrators with the Report Reader role can view the network test reports under Health -> Network Connectivity (preview).PaulAndrewSep 14, 2020Microsoft25KViews3likes32CommentsOffice 365 Network Onboarding Tool POC small update
Last week we published an update to the proof of concept at http://connectivity.office.com. We appreciate the feedback people here have provided. Here's the fixes list: Improved optimal front door identification for Dubai, New Zealand, and Malaysia. Improved TCP port block test through firewalls. Improved performance of SSL Break and Inspect tests by enabling 20 concurrent tests. Improved SSL Break and Inspect detection to support connection through proxy server. Corrected false positive error report on Teams media connectivity test. Corrected an error where an older version of the Skype Network Assessment Tool was already installed. Corrected an error with the Teams media test when decimal separators are not configured for US defaults. Improved exception handling. Added timed DNS lookup test over UDP. Improved detection of connections blocked at proxy servers with 403 errors. Regards, PaulPaulAndrewAug 13, 2019Microsoft13KViews4likes23CommentsOffice365 connectivity test:
when running office365 network checker, I get: "Unable to connect to origin. Inner exception message: The SSL connection could not be established, see inner exception." pops up immediately. 3rd party apps work fine. I am writing this on the machine. I suspect it is a certificate issue or HTTPS issue with Microsoft? Windows 11 22h2 has issues as well. Microsoft store error 0x800704cf windows update/defender updates error Feedback Hub: error (I was on beta build of 22h2. I upgraded to official 22h2, same issue) windows update: error 8000704cf windows 22h2 upgrade didn't fix it no hosts. file disabled all 3 firewall profiles ran 4 online scanners for rootkits and such Malwarebytes no problems boot to safe mode - same issue logged in as admin same issue reset network from windows, no joy tried 1.1.1.1 DNS, tried ISP default fiber DNS. ran checkdsk, SFC /scannow, DISM no errors this is a prod system running VMs and many services. reinstalling windows is last resort. any advice is GREATLY WELCOMESolvedCoCoKolaMay 19, 2023Copper Contributor6.9KViews0likes23CommentsDeploying SaaS application in Azure
Hi, So I made a SaaS application where the frontend is in Vue, the backend is in Node Js, and the database is in MySql. I require some of the following to complete the deployment: A Blob Storage account A domain for the landing page Subdomains for the APIs, the front end, and the landing page The traffic to the application will grow slowly after a period of 6 to 8 months. How can I deploy this application over to Azure? Kindly please guide me on how I can achieve this. Regards, Asim KhanAsimKhan2023Mar 31, 2024Copper Contributor1.6KViews0likes22CommentsOffice 365 Network Performance tool POC release
[Edit: A new version of the POC was published on 6/19/2019. Announced here: https://techcommunity.microsoft.com/t5/Office-365-Networking/Updated-Office-365-Network-Onboarding-Tool-POC-with-new-network/m-p/711130#M130] [Edit: We updated the POC on 3/29/2019. Original post was on 1/16/2019] With the size and scope of Office 365, a deployment can represent significant impact on an enterprise network. Connectivity issues can be complex and there are a variety of aspects to optimize including latency, local egress, WAN routing, open firewall ports, proxy bypass, bandwidth, DNS, DLP devices, cloud security brokers, etc. Published today, a new Office 365 Network Performance POC tool is intended to help Office 365 enterprise customers with network connectivity related testing and connectivity guidance. Our goal is to provide a tool that runs sufficient networking tests that we can provide detailed guidance containing network configuration recommendations about devices between user machines and Microsoft’s network. The scope for this includes connectivity for all applications and services in Office 365 and spanning the customers LAN and WAN, proxy servers, firewalls, other perimeter network devices, ISP connectivity, cloud security brokers, and network routing up to Microsoft’s network. Whilst we have network onboarding guidance to help with this published here, we think that by running network tests at each of your user locations we will be able to provide customized guidance that makes this work easier. It can be difficult to know what changes will make the best improvements in performance for users. Per customer guidance based on specific testing can quantify this and inform you of what connectivity elements are working well, and what still needs work for optimal performance. This should help customers doing network onboarding to have confidence in choices about networking improvements. We’re starting small and have released a proof of concept tool to begin this project. It runs only a subset of the tests we are planning. It focuses on the network distance between user locations and Office 365 service front door servers. It identifies the following locations: Your location either from your web browser, or that you type in Your network egress location The Office 365 service front door server location you are using The optimal Office 365 service front door location for users in your city or metro area From these locations we can provide advice if the optimal Office 365 service front door location is significantly distant to the one you are using now. We also provide a comparison of your Office 365 performance to other users in your city of metro area. Whilst this work is focused at network onboarding for Office 365, it can also help with troubleshooting and optimization. If you want to improve the performance that your Office 365 users are seeing there may be optimizations you can make in your network connectivity. Also, some Office 365 customers don’t focus on network connectivity with they first start using Office 365. If you’re working with a customer that has performance issues or features in Office 365 that aren’t working, it could be that they haven’t completed network connectivity onboarding. Please try it out and share your feedback as a reply below. We’re looking for feedback and we will be adding tests and guidance to this tool over the coming months. http://aka.ms/netonboardPaulAndrewJan 16, 2019Microsoft44KViews10likes22CommentsHybrid deployment in Office 365 | Checklist and pre requirements
In the current article, we will review: The pre-requirements of Exchange hybrid environment Best practices and recommendation for the required preparations Tools and methods that will help us to check and verify if the on-Premises environment was configured correctly. The term Hybrid configuration or a Hybrid environment, describe a scenario in which two separated Exchange organizations that belong to different Active Directory forests are working as a “one unit”. The term Hybrid configuration was created, for describing this type of relationship between the Exchange On-Premise infrastructure and the cloud (Exchange Online) infrastructure. For example, in the following diagram, we see the logical concept of Hybrid environment. The Public Domain name: o365info.com, configured as a “shared Domain”. The meaning is that two separate Exchange infrastructure “represent” this domain name or shared between them the same domain name. When looking at the diagram, we can see two recipients: Bob@o365info.com andAlice@o365info.com Technically, the recipient mailboxes must be configured on the Exchange on-Premises server or at the Exchange Online server, but logically, Bob and Alice don’t know where their mailboxes hosted. In case that Bob mailbox is hosted on the Exchange on-Premises server and Alice’s mailbox is hosted on an Exchange Online server, Bob and Alice will have all the standard Exchange services such as: Free\Busy time, mail tips and more as if they are hosted in the same Exchange organization. The reason is that the Hybrid environment, “connect” the two distinct Exchange environments and making them appear as one entity. Hybrid configuration relationships and Trust concept As mentioned before, the Hybrid configuration was designed for “connecting” two different Exchange environments and make them operate as one entity. A trust concept implements the “glow” between the two distinct environments. Federation trust – each of the Exchange environments (on-Premises + cloud) needs or must trust a “third element” named: MFG – Microsoft’s federation gateway (number 1 in the diagram). Exchange organization relationships – a trust model between two separate Exchange organizations. In Hybrid environment, the Exchange organization relationship is implemented between the Exchange on-Premises forest and the “Office 365 forest” (Exchange Online) (number 2 in the diagram). The Hybrid configuration and the “Trust model” enable each of the “end points” (Exchange on-Premises and Exchange Online) to: Authenticate each other Verify the identity of each other Create a secure communication channel: Encrypt the information and implement data integrity by using a public certificate and by using a secure communication protocol such as SMTP\TLS and HTTPS. Simple Exchange on-Premises environment versus complicated environment. The term “Hybrid configuration” could use in describing a very simple scenario in which the organization has only one Exchange on-Premises server, who serves as a Hybrid server and is responsible for creating the “communication channel” between the on-Premises environment and the “cloud” (Exchange Online). Another scenario of Hybrid configuration could be a more complicated scenario, which is more common in enterprise environments that have complicated Exchange on-Premises infrastructure. In this scenario, the “relationship” between the Exchange Online and the “on-Premises Exchange infrastructure” could be divided into many “communication channels” with different\separated Exchange on-Premises servers. For example – the mail flow between Exchange on-Premises and Exchange Online could be implemented by using a “dedicated” Exchange on-Premises server which will be configured for sending mail to Exchange Online and, other Exchange on-Premises server which will be configured to “accept” mail from Exchange Online. Another Exchange on-Premises server could assign to different roles\services such as dedicated Exchange on-Premises server who will provide AutoDiscover services, dedicated Exchange on-Premises server who will provide EWS services and so on. Pre-requirements for Hybrid deployment in Office 365 In the next sections, we will review each of the components that includes in the “Pre-requirements for Hybrid environment list.” 1. Exchange Hybrid Server Version The term “Exchange Hybrid server” is just a logical term that describes Microsoft Exchange server which can be a part of a Hybrid environment. Note – the Hybrid environment based on two different “end point” such as Exchange on-Premises environment and the “cloud” (Exchange Online) environment. At the current time, the “cloud side” of the Hybrid configuration is based on Exchange 2013 SP1 technology. The Exchange on-Premises server “Hybrid server” could be implemented by using: Exchange 2010 SP3 Exchange 2013 Exchange 2016 Exchange 2010 SP3 as Hybrid server In case that we want to use an Exchange 2010 as a Hybrid server, the minimum requirement is service pack 3. Besides of the requirement for Service Pack 3, the best practice is: to install the most updated Exchange Rollup versions because each of the software updates (Exchange Rollup) includes a solution to issues\problem that was discovered and the fixed is included in the Rollups. Many times the customer or the organization IT will “resist” to the recommendation of “installing the most updated Exchange rollup“ but, it’s important to emphasize that installing the most updated Rollups can prevent many of the future problems and consider as an important factor in the process of building the Hybrid environment. The following quotation relates to Rollups 4 for Exchange 2010 SP3, but you get the idea. Additionally, we recommend installing future Update Rollups 4 for Exchange 2010 SP3 on all your hybrid servers. Microsoft releases update rollup packages approximately every six to eight weeks. The rollup packages are available via Microsoft Update and the Microsoft Download Center. In the Search box on the Microsoft Download Center, type “Exchange 2010 SP3 updates rollup” to find links to the rollup packages for Exchange 2010 SP3. [Source of information: Understanding Hybrid Servers in Exchange 2010 Hybrid Deployments ] Download link for the required Exchange on-Premises server software updates Exchange 2010 | How can I know what is the current Exchange Rollup? In case that you want to get information about the existing status of the Exchange 2010 on-Premises server, you can view the current version by using the Help menu and click on the About Exchange server 2010. In the following screenshot, we can see that the Exchange on-Premises server version is:14.03.0.195.001 So the next question could be: how can I know what is the Exchange on-Premises server service pack or rollup version based on this number? To be able to “translate” the value to a clearer information, we can use the article: Exchange Server and Update Rollups Build Numbers In the following screenshot, we can see that the version number: 14.3.195.1 is “telling” us that the Exchange 2010 on-Premises server includes an installation of Service Pack 3 + Rollup 6 for Exchange 2010 SP3. In this case, we will need to download and install to most updated Rollup (for example Rollup 9) The Cumulative Update (CU), Rollup, and Service Packs you have running on the on-premises server should also not be overlooked. Under normal circumstances we support you being no more than two updates behind the currently released update for Exchange; however, for hybrid environments, we are stricter, and you should not be more than one build behind. If the latest update is Exchange 2013 CU9, then you must have either Exchange 2013 CU9 or CU8 to be considered in a supported state. We are stricter with our hybrid requirements because of how tightly the on-premises and Exchange Online environments will be coupled together. For more information on our available updates please go here. [Source of information – Keep Exchange up to date] New Hybrid server versus existing Exchange On-Premise In case that the organization Exchange infrastructure based on older versions of Exchange such as Exchange 2003, 2007, we will need to “add” or install a new Exchange on-Premises server (2010 SP3 or 2013) that will serve as the “Hybrid server.” The “New” Exchange On-Premise Hybrid server can implement as Exchange 2010 or Exchange 2013 or Exchange 2016 but, the best practice is to install Exchange 2016 server instead Exchange 2013 or 2010 because Exchange 2016 includes improving features that relate to the Hybrid environment. You can read more information about the improvement in Exchange On-Premise 2016: Exchange Server 2016 Hybrid Perks Microsoft released its Exchange Server 2016 product back in October. While the new product is an Exchange Server 2013 facelift of sorts, it was built based on Microsoft's Exchange Online service. Exchange Server 2016 has improved backend search and e-discovery capabilities, plus improved Outlook client support, among other features. It has other hybrid support benefits, according to a Microsoft TechNet library article updated in late January. Those benefits include: Secure e-mail routing between the two instances Use of a "shared domain namespace" for messages A shared address book (also known as "a unified global address list") Calendar sharing Mailbox mobility Centralized management via the Exchange Admin Center 2. Exchange On-Premise Hybrid Server | Public IP Address And Public Name (FQDN) Hybrid configuration is all about enabling Exchange On-Premise server which is configured as “Hybrid server” to create a communication channel with the Exchange Online infrastructure that exists in a public network. To be able to communicate hosts or “endpoint” on a Public network, the Exchange Hybrid server must have: Public Name – The public name of the Exchange Hybrid server should be published in the Public DNS and should resolve to the Public IP of the Exchange Hybrid server. Public IP address – A Public IP address that “Point” to the Exchange Hybrid server should be assigned. Most of the time, the Public IP address will not directly attach to the Exchange on-Premises server, but instead, the Public IP will be allocated to a Firewall server. Th eFirewall will accept the communication requests to the Exchange on-Premises server and forward the request to the internal IP address of the Exchange on-Premises server. Note – In case that we use more complicated scenario in which the on-Premises environment is “represented” by more than one Exchange on-Premises server, each of the Exchange On-Premise servers will need to have a dedicated Public IP. For example, in case that the Outbound mail flow based on two Exchange on-Premises servers who can send mail to the Exchange Online server, each of this server will need to have a dedicated Public IP address. How can I know what is the Public name of the Exchange On-Premise? The simple answer is that if you are the Exchange On-Premise Administrator, you supposed to know what the Exchange On-Premise public name is but, in some scenarios, we will have to configure and hybrid deployment in an environment which we are not familiar with. One option to get information about the “Public name” of the Exchange On-Premise server is by looking at the “External URL” that appears in the “client access” section under server configuration in the Exchange MMC (when we use Exchange 2010 MMC). In the following example, we will look under the “Server configuration\Client access\EX01” Exchange server “publish a ” couple of services. In our example, we look at the ECP tab (the ECP tab includes the Internal + External URL of the Exchange server using the web management interface). We can see that the “pubic name” (External URL) of the Exchange On-Premise is:mail.o365info.com Note – the External URL information includes parts that are only relevant for the URL syntax. Part of the URL is the host FQDN (Fully Qualified Domain Name). In our scenario, we are looking only for the Public Exchange server name (mail.o365info.com). Verify that the Exchange Hybrid Server Public name (FQDN) is mapped to his Public IP The verification process of the Exchange On-Premise Public IP is very simple. Open the command prompt and Ping the Public name of the Exchange On-Premise server. In our example, the Exchange On-Premise public name is: mail.o365info.com In the following screenshot, we can see that we got as an “answer” the public IP of the Exchange On-Premise server. One of the most common misconceptions is – that there is a problem because we got a “Request timed out”. This response is not a sign of a problem because, the host whom we “ping” (Exchange On-Premise in our scenario), was not supposed to reply to the ping request. This is a foreseeable result because most of the time the organization Firewall blocks the ICMP protocol (that used for the Ping reply). To recap: the fact that we got a response the Public IP is the required results, meaning the Exchange on-Premises server have a public name + Public IP address. Note – besides of verifying the Exchange Hybrid server public name and Public IP; we will need to check additional parameters such as the ability to access the Exchange Hybrid server using a particular protocol and so on. In the next sections, we will review these other requirements 3. Exchange On-Premise Hybrid Server | Port Number And Protocols Hybrid configuration based on sharing data and services between Exchange Online and Exchange on-Premises server. The communication channel implemented by using two communications protocols: HTTPS – access to the Exchange services (from Exchange on-Premises server to Exchange Online and vice versa) implemented by using the HTTPS protocol. SMTP – the SMTP protocol used for implementing mail flow, and the data is encrypted using TLS (TLS over SMTP). The underlying assumption is that – the Exchange on-Premises server protected by a Firewall. To be able to implement the communication channel, between the Exchange on-Premises server and the Exchange Online successfully, we will need to verify that the Firewall includes the following inbound and outbound rules: The inbound rule that enables to access the Exchange on-Premises server using port 25 (SMTP) and 443 (HTTPS). The outbound rule that enables the Exchange on-Premises server to access Exchange Online using the port 25 (SMTP) and 443 (HTTPS). Reference from Microsoft article The following screenshot is taken from a Microsoft article and includes a table the describe the port number and the services that need to enabled for Hybrid configuration 4. Exchange On-Premise Hybrid Server| Public IP Address And Static NAT An important factor that we need to verify is that the Exchange on-Premises server is using the public IP address that was assigned to him when he responds to a communication request of external hosts or when he initializes a connection to an external host. The technical term for this scenario could be as a “two-way static NAT”. For example: when using the Exchange 2010 Hybrid configuration wizard, we need to provide the public IP of the Exchange on-Premises server which is “allowed” to send an E-mail to the Exchange Online server. When the Exchange on-Premises server communicates the Exchange Online, it is important that the Exchange on-Premises server use the public IP that configured in the Exchange hybrid wizard. Other examples could be when the Exchange Online starts a communication process to the public IP of the Exchange on-Premises server. In this case, the Exchange Online server is “waiting” for a response from the IP address that used for starting the communication channel. An example for the static NAT rule could be: n the following diagram, we can see an example of static NAT rule. When external hosts such as Exchange Online try to communicate with the Public IP of the Exchange On-Premise server, the “response” from the Exchange on-Premises server implemented by using the same public IP address that we use for “publishing” the Exchange on-Premises server. 5. ISA-TMG Server And A Firewall Server When using ISA\TMG server to publish an Exchange On-Premise server, the configurations are a little bit different compares to a “standard Firewall” because, ISA\TMG is a Proxy server and additionally, Firewall server. When using a “Standard Firewall,” we redirect the communication to the internal Exchange On-Premise server by using a simple “access rule”. When using ISA\TMG Firewall, redirection to the internal Exchange On-Premise server is implemented by using a: Web publishing rule. The ISA\TMG web publishing rule relates to a particular or pre-configured Exchange On-Premise “path” such as -OWA, EWS an additional component that used in the ISA\TMG environment is the Authentication settings. Because ISA\TMG is a proxy server, many times the configuration of the authentication process implemented in the following way: external host authenticates (provide his credential) to the ISA\TMG, the ISA\TMG server approves or disapproves the credentials and if the complete successfully ISA\TMG will “forward in” the communication request of the external hosts. In the hybrid environment, this configuration will cause problem and errors. In simple words: when we publish Exchange On-Premise server using ISA\TMG server, we need to cancel or disable the option in which ISA\TMG server is authentication external host’s communication request. 6. Firewall Inbound And Outbound Access Policy | Office 365 And Exchange Online Public IP Range In many organizations, because of a regulation or other security requirements, there is an implementation of outbound and inbound policy that restricts access only to a dedicated or a predefined IP range. For example: when we say:” Exchange on-Premises server is creating a communication channel with Exchange Online,” what does is mean from the “IP range” point of view? Does Exchange Online infrastructure represented by a particular or a predefined public IP range? The answer to this question is: “Yes.” All the Office 365 environment such as – the Windows Azure Active Directory, Exchange Online, SharePoint Online and so on, based on a “publish” or well-known public IP range. The implementation of Outbound and inbound firewall rules that restrict the access only to a specific or a predefined IP range consider as “good practice” from the security point of view. But, at the same time, can complicate and interrupt the process of the “first-time configuration” that we use for building the “Hybrid communication channel” between the Exchange On-Premise and the Exchange Online server.Ahmed BilalJul 17, 2017Copper Contributor55KViews6likes19Comments
Resources
Tags
- office 365156 Topics
- exchange49 Topics
- migration13 Topics
- deployment12 Topics
- Microsoft 365 Groups11 Topics
- Microsoft 365 Apps6 Topics
- hybrid5 Topics
- Network connectivity5 Topics
- Skype for Business4 Topics
- Networking3 Topics