Exchange Server and Teams Calendar Integration Without HCW

Exchange Server and Teams Calendar Integration Without HCW

Exchange Server SE / 2019 / 2016, Microsoft Teams
Applies to: Exchange Server SE / 2019 | Microsoft Teams Microsoft Teams Calendar can be integrated with Exchange Server on-premises. Normally, we use the Hybrid Configuration Wizard (HCW) to configure the integration between Exchange Server and Microsoft 365. However, some customers keep all their mailboxes on-premises, with no mailboxes in Exchange Online. They use Microsoft Teams but do not need mailbox migration, hybrid mail flow, or other Exchange coexistence features. HCW can also configure additional Hybrid components, such as Organization Relationships, IntraOrganizationConnectors, and mail flow connectors, depending on the selected options. For this scenario, I wanted a more controlled approach. Instead of running HCW, I wanted to configure only the components required for Teams Calendar and understand what each one does. I started with basic Teams Calendar integration and then…
Read More
Manage Exchange Server Transport Log Paths with ExchangeLogPathManager.ps1

Manage Exchange Server Transport Log Paths with ExchangeLogPathManager.ps1

Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 Exchange Server can generate a large amount of log data over time, especially Message Tracking, SMTP protocol, and connectivity logs. By default, these logs are usually stored under the Exchange installation path, which is commonly on the system drive. I created ExchangeLogPathManager.ps1 to make it easier to review and compare transport log paths across multiple Exchange servers, and safely move supported high-growth transport logs to a dedicated log drive when needed. The script works with supported Transport Service, Front End Transport, and Mailbox Transport log path settings. Version 1.1 also adds Interactive Configure and explicit Review modes while keeping the same Preview, confirmation, pre-change snapshot, drift protection, Apply, and verification workflow. Download ExchangeLogPathManager.ps1 Download from GitHub Questions and feedback are welcome…
Read More
Manage Exchange Server URLs and Namespaces with ExchangeURLManager.ps1

Manage Exchange Server URLs and Namespaces with ExchangeURLManager.ps1

Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 Configuring Exchange Server Client Access URLs is rarely a one-time task. The URLs are set after a new installation, checked again during migrations, changed when a server is replaced or the namespace design changes, and compared when a new server needs to match the existing ones. The Exchange commands themselves are not complicated. The harder part is everything around those commands: checking the current configuration, deciding what should be carried over, seeing exactly what will change, keeping a backup, and verifying the result afterward. That was the main reason I created ExchangeURLManager.ps1. The goal was not only to set Exchange URLs. I wanted one tool that could review the current configuration, compare Exchange servers, configure namespaces, clone the required settings, create…
Read More
Exchange Server SE Readiness Check Before Installation

Exchange Server SE Readiness Check Before Installation

Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE RTM | Windows Server 2025 / 2022 / 2019 Over the years, I have seen many Exchange Server installations take longer than expected because of Windows Server, Active Directory, DNS, network, storage, or prerequisite problems. Even when Exchange Setup completes successfully, configuration differences can still cause unexpected behavior afterward. In some cases, recommended settings may also need to be reviewed and applied later. Many of these issues can be identified before Exchange Setup starts. That was the idea behind ExchangeServerReadinessCheck.ps1. I first created these checks for my own Exchange upgrade and migration work. Later, I added more checks based on different environments and real cases. This can be especially useful for Field Engineers, Consultants, and administrators who perform Exchange deployments, upgrades, or migrations periodically and…
Read More
Exchange Server Auth Certificate Field Guide: Validation, Rotation, Recovery, and Time Zone Issues

Exchange Server Auth Certificate Field Guide: Validation, Rotation, Recovery, and Time Zone Issues

Exchange, Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 In a healthy Exchange Server environment, Exchange Server Auth Certificate renewal should normally be a straightforward process. In the field, however, I have seen cases where this process did not go as expected. Sometimes the certificate is still healthy. Sometimes it is close to expiration. In other cases, it is already expired, invalid, or missing from one or more Exchange servers. The correct action is not the same in every case. Because of this, I wanted to put together a practical guide based on the Exchange Server Auth Certificate cases I see in real environments. This guide shows how to check the current state, choose the correct path, renew or replace the certificate when needed, validate the result, and complete the…
Read More
Recover the Microsoft Exchange Self-Signed Certificate Without EMS

Recover the Microsoft Exchange Self-Signed Certificate Without EMS

Exchange, Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 / 2013 Exchange Server creates a self-signed certificate during setup. Its friendly name is normally Microsoft Exchange, and its subject is the Exchange server name. For example, if the server name is EX1901, the certificate subject is CN=EX1901. Normally, you do not need to touch this certificate. But if it is removed, or if the Exchange Back End HTTPS binding loses the certificate, OWA, ECP, ActiveSync, and Exchange Management Shell can be affected. Microsoft documents this problem and uses New-ExchangeCertificate to create a replacement certificate. One of the possible symptoms is that Exchange Management Shell itself cannot connect. This post shows a practical recovery path when EMS is not available. Microsoft's recovery article is scoped to Exchange Server 2013 and 2016;…
Read More
Exchange Server SE / 2019 OWA Authentication Deep Dive – Part 2: Forms-Based and Basic Authentication – What Really Changes?

Exchange Server SE / 2019 OWA Authentication Deep Dive – Part 2: Forms-Based and Basic Authentication – What Really Changes?

Exchange, Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 Summary: In Part 1, we mapped the OWA authentication layers and captured the default configuration. In this part, we change only the frontend OWA authentication settings and watch what happens in Exchange, IIS, and the browser. Changing one Exchange OWA authentication setting can completely change what IIS allows and what the browser shows. Understanding those differences makes it much easier to tell a real authentication failure from an expected 401 challenge, a Basic prompt, or the normal Exchange OWA sign-in flow. Part 1: How OWA Authentication Really WorksPart 2: Forms-Based and Basic Authentication – What Really Changes? — you are herePart 3: Frontend vs Backend Authentication – Controlled A/B TestsPart 4: Troubleshooting OWA Authentication with IIS and HttpProxy LogsPart 5: Managed…
Read More
Exchange Server SE / 2019 OWA Authentication Deep Dive – Part 1: How OWA Authentication Really Works

Exchange Server SE / 2019 OWA Authentication Deep Dive – Part 1: How OWA Authentication Really Works

Exchange, Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 Summary: OWA authentication is easier to troubleshoot once the frontend, Exchange authentication layer, HttpProxy, and backend are treated as separate parts of the same request. This first part sets the baseline, shows the main commands, and explains which settings matter before we start changing anything. Exchange OWA authentication problems are easy to misdiagnose because the browser, frontend IIS, Exchange authentication layer, HttpProxy, and backend do not tell the same story. Before changing any setting, you need to know which layer actually owns the failure. Version scope: The controlled tests in this series were performed on Exchange Server 2019 CU15 and Exchange Server Subscription Edition (SE) RTM. Microsoft states that SE RTM is code-equivalent to Exchange 2019 CU15 apart from the license…
Read More
Get Exchange Server URLs and Authentication Settings with PowerShell

Get Exchange Server URLs and Authentication Settings with PowerShell

Exchange, Exchange Server SE / 2019 / 2016
Applies to: Exchange Server SE / 2019 / 2016 The original GetExchangeURLs.ps1 script was written by Paul Cunningham to provide a simple way to display Exchange Server Client Access URLs from a single PowerShell script. Ali Tajran later updated the script to version 1.10, adding the PowerShell virtual directory and reorganizing the output. I recently revisited the script and decided to continue the same approach rather than create a completely new one. The result is GetExchangeURLs-v2.ps1. Download GetExchangeURLs-v2.ps1 Download from GitHub Questions and feedback are welcome in the comments below. For script issues or feature requests, please use GitHub Issues. Current version: 2.2 (October 9, 2026). See What Changed below for the version history. In This Article 1. What Changed 2. Get Exchange Server URLs 3. Alternate Service Account (ASA)…
Read More