{"id":6019,"date":"2025-09-16T09:25:05","date_gmt":"2025-09-16T07:25:05","guid":{"rendered":"https:\/\/www.msb365.blog\/?p=6019"},"modified":"2025-09-16T09:25:05","modified_gmt":"2025-09-16T07:25:05","slug":"exchange-connectivity-tester","status":"publish","type":"post","link":"https:\/\/www.msb365.blog\/?p=6019","title":{"rendered":"Exchange Connectivity Tester"},"content":{"rendered":"<style>\n        body {<br \/>            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;<br \/>            line-height: 1.6;<br \/>            color: #333;<br \/>            max-width: 800px;<br \/>            margin: 0 auto;<br \/>            padding: 20px;<br \/>            background-color: #fafafa;<br \/>        }<br \/>        .container {<br \/>            background: white;<br \/>            padding: 40px;<br \/>            border-radius: 12px;<br \/>            box-shadow: 0 4px 20px rgba(0,0,0,0.1);<br \/>        }<br \/>        h1 {<br \/>            color: #2c3e50;<br \/>            font-size: 2.5em;<br \/>            margin-bottom: 10px;<br \/>            font-weight: 700;<br \/>            line-height: 1.2;<br \/>        }<br \/>        .subtitle {<br \/>            color: #7f8c8d;<br \/>            font-size: 1.2em;<br \/>            margin-bottom: 30px;<br \/>            font-weight: 400;<br \/>        }<br \/>        h2 {<br \/>            color: #34495e;<br \/>            font-size: 1.8em;<br \/>            margin-top: 40px;<br \/>            margin-bottom: 20px;<br \/>            border-bottom: 3px solid #3498db;<br \/>            padding-bottom: 10px;<br \/>        }<br \/>        h3 {<br \/>            color: #2c3e50;<br \/>            font-size: 1.4em;<br \/>            margin-top: 30px;<br \/>            margin-bottom: 15px;<br \/>        }<br \/>        .hero-section {<br \/>            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);<br \/>            color: white;<br \/>            padding: 40px;<br \/>            border-radius: 12px;<br \/>            margin-bottom: 40px;<br \/>            text-align: center;<br \/>        }<br \/>        .hero-section h1 {<br \/>            color: white;<br \/>            margin-bottom: 15px;<br \/>        }<br \/>        .hero-section p {<br \/>            font-size: 1.2em;<br \/>            opacity: 0.9;<br \/>            margin: 0;<br \/>        }<br \/>        .feature-grid {<br \/>            display: grid;<br \/>            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));<br \/>            gap: 25px;<br \/>            margin: 30px 0;<br \/>        }<br \/>        .feature-card {<br \/>            background: #f8f9fa;<br \/>            padding: 25px;<br \/>            border-radius: 8px;<br \/>            border-left: 4px solid #3498db;<br \/>        }<br \/>        .feature-card h4 {<br \/>            color: #2c3e50;<br \/>            margin-top: 0;<br \/>            margin-bottom: 15px;<br \/>            font-size: 1.2em;<br \/>        }<br \/>        .feature-card p {<br \/>            margin: 0;<br \/>            color: #555;<br \/>        }<br \/>        .use-case {<br \/>            background: #e8f5e8;<br \/>            border-left: 4px solid #27ae60;<br \/>            padding: 20px;<br \/>            margin: 20px 0;<br \/>            border-radius: 0 8px 8px 0;<br \/>        }<br \/>        .use-case h4 {<br \/>            color: #27ae60;<br \/>            margin-top: 0;<br \/>            margin-bottom: 10px;<br \/>        }<br \/>        .code-block {<br \/>            background: #2c3e50;<br \/>            color: #ecf0f1;<br \/>            padding: 20px;<br \/>            border-radius: 8px;<br \/>            font-family: 'Courier New', monospace;<br \/>            overflow-x: auto;<br \/>            margin: 20px 0;<br \/>        }<br \/>        .highlight {<br \/>            background: #fff3cd;<br \/>            border: 1px solid #ffeaa7;<br \/>            padding: 15px;<br \/>            border-radius: 8px;<br \/>            margin: 20px 0;<br \/>        }<br \/>        .highlight strong {<br \/>            color: #856404;<br \/>        }<br \/>        .protocol-list {<br \/>            display: grid;<br \/>            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));<br \/>            gap: 15px;<br \/>            margin: 20px 0;<br \/>        }<br \/>        .protocol-item {<br \/>            background: white;<br \/>            border: 2px solid #e9ecef;<br \/>            padding: 15px;<br \/>            border-radius: 8px;<br \/>            text-align: center;<br \/>            transition: all 0.3s ease;<br \/>        }<br \/>        .protocol-item:hover {<br \/>            border-color: #3498db;<br \/>            transform: translateY(-2px);<br \/>            box-shadow: 0 4px 12px rgba(52, 152, 219, 0.2);<br \/>        }<br \/>        .protocol-item h5 {<br \/>            margin: 0 0 10px 0;<br \/>            color: #2c3e50;<br \/>            font-size: 1.1em;<br \/>        }<br \/>        .protocol-item p {<br \/>            margin: 0;<br \/>            font-size: 0.9em;<br \/>            color: #666;<br \/>        }<br \/>        .cta-section {<br \/>            background: #3498db;<br \/>            color: white;<br \/>            padding: 30px;<br \/>            border-radius: 12px;<br \/>            text-align: center;<br \/>            margin: 40px 0;<br \/>        }<br \/>        .cta-section h3 {<br \/>            color: white;<br \/>            margin-top: 0;<br \/>        }<br \/>        .btn {<br \/>            display: inline-block;<br \/>            background: white;<br \/>            color: #3498db;<br \/>            padding: 12px 24px;<br \/>            text-decoration: none;<br \/>            border-radius: 6px;<br \/>            font-weight: 600;<br \/>            margin-top: 15px;<br \/>            transition: all 0.3s ease;<br \/>        }<br \/>        .btn:hover {<br \/>            background: #f8f9fa;<br \/>            transform: translateY(-1px);<br \/>        }<br \/>        .author-section {<br \/>            background: #f8f9fa;<br \/>            padding: 20px;<br \/>            border-radius: 8px;<br \/>            margin-top: 40px;<br \/>            text-align: center;<br \/>        }<br \/>        .tags {<br \/>            margin: 30px 0;<br \/>        }<br \/>        .tag {<br \/>            display: inline-block;<br \/>            background: #e9ecef;<br \/>            color: #495057;<br \/>            padding: 5px 12px;<br \/>            border-radius: 20px;<br \/>            font-size: 0.9em;<br \/>            margin: 5px;<br \/>            text-decoration: none;<br \/>        }<br \/>        .tag:hover {<br \/>            background: #3498db;<br \/>            color: white;<br \/>        }<br \/>        ul, ol {<br \/>            padding-left: 20px;<br \/>        }<br \/>        li {<br \/>            margin-bottom: 8px;<br \/>        }<br \/>        .screenshot-placeholder {<br \/>            background: #f8f9fa;<br \/>            border: 2px dashed #dee2e6;<br \/>            padding: 40px;<br \/>            text-align: center;<br \/>            border-radius: 8px;<br \/>            margin: 20px 0;<br \/>            color: #6c757d;<br \/>        }<br \/>    <\/style>\n<p>\u00a0<\/p>\n<div class=\"container\">\n<div class=\"hero-section\">\n<p>An Exchange Troubleshooting PowerShell Tool for IT Administrators<\/p>\n<\/div>\n<p class=\"subtitle\">Troubleshoot Exchange connectivity issues with this comprehensive PowerShell script that tests all major Exchange protocols and generates professional HTML reports.<\/p>\n<h2>What is the Exchange Connectivity Tester?<\/h2>\n<p>The Exchange Connectivity Tester is a PowerShell script designed to help IT administrators and support technicians quickly diagnose Exchange connectivity issues. Just like Microsoft Outlook automatically detects and connects to Exchange services, this script performs comprehensive connectivity tests across all major Exchange protocols and presents the results in a clear, professional HTML report.<\/p>\n<div class=\"highlight\"><strong> Tip:<\/strong> This script behaves exactly like Outlook\u2019s connection process, making it the perfect tool for troubleshooting why Outlook might not be connecting properly to your Exchange environment.<\/div>\n<h2>Why Do You Need This Tool?<\/h2>\n<p>Every IT administrator has faced the dreaded \u201cOutlook won\u2019t connect\u201d support ticket. Instead of spending hours manually testing different connection methods, this script automates the entire process and provides you with actionable insights in minutes.<\/p>\n<div class=\"feature-grid\">\n<div class=\"feature-card\">\n<h4>Automatic Detection<\/h4>\n<p>Automatically detects whether you\u2019re using Exchange Online or on-premises Exchange Server, just like Outlook does.<\/p>\n<\/div>\n<div class=\"feature-card\">\n<h4>Comprehensive Testing<\/h4>\n<p>Tests all major Exchange protocols in the same order and manner that Outlook uses for connections.<\/p>\n<\/div>\n<div class=\"feature-card\">\n<h4>Professional Reports<\/h4>\n<p>Generates beautiful HTML reports that you can share with colleagues or include in support tickets.<\/p>\n<\/div>\n<div class=\"feature-card\">\n<h4>\u26a1 Real-time Feedback<\/h4>\n<p>See exactly what the script is doing with color-coded console output and progress indicators.<\/p>\n<\/div>\n<\/div>\n<h2>What Protocols Does It Test?<\/h2>\n<p>The script tests all the same protocols that Outlook uses to connect to Exchange, ensuring comprehensive coverage:<\/p>\n<div class=\"protocol-list\">\n<div class=\"protocol-item\">\n<h5>Autodiscover<\/h5>\n<p>The foundation of Exchange connectivity \u2013 tests multiple Autodiscover URLs<\/p>\n<\/div>\n<div class=\"protocol-item\">\n<h5>MAPI over HTTP<\/h5>\n<p>Modern protocol used by Outlook 2013+ and Exchange Online<\/p>\n<\/div>\n<div class=\"protocol-item\">\n<h5>RPC over HTTP<\/h5>\n<p>Legacy protocol for older Exchange versions and Outlook clients<\/p>\n<\/div>\n<div class=\"protocol-item\">\n<h5>Exchange Web Services<\/h5>\n<p>API used by mobile devices and third-party applications<\/p>\n<\/div>\n<div class=\"protocol-item\">\n<h5>Outlook Web Access<\/h5>\n<p>Web interface for browser-based email access<\/p>\n<\/div>\n<div class=\"protocol-item\">\n<h5>Offline Address Book<\/h5>\n<p>Directory synchronization for offline Outlook functionality<\/p>\n<\/div>\n<\/div>\n<h2>Real-World Use Cases<\/h2>\n<p>Here are some practical scenarios where this script becomes invaluable:<\/p>\n<div class=\"use-case\">\n<h4>Help Desk Troubleshooting<\/h4>\n<p><strong>Scenario:<\/strong> User calls saying \u201cOutlook won\u2019t connect\u201d after a recent office move.<\/p>\n<p><strong>Solution:<\/strong> Run the script on the user\u2019s computer to quickly identify if it\u2019s a network, DNS, or Exchange configuration issue. The HTML report provides clear evidence of what\u2019s working and what\u2019s not.<\/p>\n<\/div>\n<div class=\"use-case\">\n<h4>Office 365 Migration<\/h4>\n<p><strong>Scenario:<\/strong> You\u2019re migrating from on-premises Exchange to Exchange Online and need to verify connectivity.<\/p>\n<p><strong>Solution:<\/strong> Use the script before and after migration to document connectivity status and ensure all protocols are working correctly in the new environment.<\/p>\n<\/div>\n<div class=\"use-case\">\n<h4>New Employee Onboarding<\/h4>\n<p><strong>Scenario:<\/strong> Setting up a new employee\u2019s computer and want to verify Exchange connectivity before they start.<\/p>\n<p><strong>Solution:<\/strong> Run the script as part of your standard setup process to proactively identify and resolve any connectivity issues.<\/p>\n<\/div>\n<div class=\"use-case\">\n<h4>Mobile Device Issues<\/h4>\n<p><strong>Scenario:<\/strong> Users report that their mobile devices can\u2019t sync email, but Outlook works fine.<\/p>\n<p><strong>Solution:<\/strong> The script tests EWS (Exchange Web Services), which is used by mobile devices, helping you isolate mobile-specific connectivity problems.<\/p>\n<\/div>\n<div class=\"use-case\">\n<h4>Network Infrastructure Changes<\/h4>\n<p><strong>Scenario:<\/strong> After firewall or proxy changes, some users report intermittent Outlook connectivity issues.<\/p>\n<p><strong>Solution:<\/strong> Run the script from different network segments to identify which protocols are being blocked and where.<\/p>\n<\/div>\n<h2>How to Use the Script<\/h2>\n<p>Using the Exchange Connectivity Tester is straightforward and user-friendly:<\/p>\n<h3>Step 1: Download and Prepare<\/h3>\n<ol>\n<li>Download the <code>ConnectivityTester.ps1<\/code> script<\/li>\n<li>Open PowerShell as Administrator (recommended for full functionality)<\/li>\n<li>Navigate to the script location<\/li>\n<\/ol>\n<h3>Step 2: Execute the Script<\/h3>\n<div class=\"code-block\">.\\ConnectivityTester.ps1<\/div>\n<h3>Step 3: Follow the Interactive Prompts<\/h3>\n<ul>\n<li><strong>Email Detection:<\/strong> The script will try to detect your email from Outlook automatically<\/li>\n<li><strong>Manual Input:<\/strong> If auto-detection fails, you\u2019ll be prompted to enter your email address<\/li>\n<li><strong>Save Location:<\/strong> Choose where to save the HTML report using the file dialog<\/li>\n<\/ul>\n<h3>Step 4: Monitor Progress<\/h3>\n<p>Watch the real-time console output as the script tests each protocol:<\/p>\n<div class=\"code-block\">=== Testing Autodiscover ===<br \/>\nTesting: https:\/\/autodiscover.company.com\/autodiscover\/autodiscover.xml<br \/>\n[Success] Autodiscover<br \/>\nDetails: Autodiscover successful via: https:\/\/autodiscover.company.com\/autodiscover\/autodiscover.xml=== Testing MAPI over HTTP ===<br \/>\n[Success] MAPI over HTTP<br \/>\nDetails: MAPI over HTTP endpoint is accessible: https:\/\/outlook.office365.com\/mapi\/emsmdb<\/div>\n<h3>Step 5: Review the HTML Report<\/h3>\n<p>The script generates a comprehensive HTML report with:<\/p>\n<ul>\n<li><strong>Executive Summary:<\/strong> Quick overview of test results with visual statistics<\/li>\n<li><strong>Detailed Results:<\/strong> Complete information for each protocol test<\/li>\n<li><strong>Error Details:<\/strong> Specific error messages for troubleshooting<\/li>\n<li><strong>Environment Information:<\/strong> Computer, user, and Exchange details<\/li>\n<\/ul>\n<div class=\"screenshot-placeholder\">\n<p>Professional HTML Report Preview<\/p>\n<p><em>The generated report includes color-coded results, detailed error messages, and a clean, professional layout perfect for sharing with colleagues or including in support documentation.<\/em><\/p>\n<\/div>\n<h2>Benefits for IT Teams<\/h2>\n<h3>Time Savings<\/h3>\n<p>Instead of manually testing each protocol and connection method, the script automates the entire process. What used to take 30-60 minutes of manual testing now takes just 2-3 minutes.<\/p>\n<h3>Standardized Troubleshooting<\/h3>\n<p>Ensure consistent troubleshooting across your IT team. Every technician gets the same comprehensive test results, reducing the chance of missing important connectivity issues.<\/p>\n<h3>Professional Documentation<\/h3>\n<p>The HTML reports provide professional documentation that can be:<\/p>\n<ul>\n<li>Attached to support tickets<\/li>\n<li>Shared with Microsoft support<\/li>\n<li>Included in incident reports<\/li>\n<li>Used for compliance documentation<\/li>\n<\/ul>\n<h3>Proactive Monitoring<\/h3>\n<p>Run the script regularly as part of your monitoring routine to catch connectivity issues before users report them.<\/p>\n<h2>Understanding the Results<\/h2>\n<p>The script provides clear, actionable results for each test:<\/p>\n<h3>\u2705 Success Status<\/h3>\n<p>Green indicators show that the protocol is working correctly and accessible from the client computer.<\/p>\n<h3>\u274c Failed Status<\/h3>\n<p>Red indicators highlight protocols that are not working, with specific error messages to help identify the root cause.<\/p>\n<h3>\u26a0\ufe0f Warning Status<\/h3>\n<p>Yellow indicators show protocols that are deprecated or not applicable to your environment (e.g., RPC over HTTP in Exchange Online).<\/p>\n<h2>\ufe0f Advanced Features<\/h2>\n<h3>Automatic Environment Detection<\/h3>\n<p>The script intelligently determines whether you\u2019re using:<\/p>\n<ul>\n<li><strong>Exchange Online:<\/strong> Based on MX records and domain analysis<\/li>\n<li><strong>Exchange Server:<\/strong> On-premises installations<\/li>\n<li><strong>Hybrid Environments:<\/strong> Mixed configurations<\/li>\n<\/ul>\n<h3>Email Auto-Detection<\/h3>\n<p>Automatically detects the user\u2019s email address from:<\/p>\n<ul>\n<li>Outlook MAPI profiles<\/li>\n<li>Registry settings<\/li>\n<li>User input as fallback<\/li>\n<\/ul>\n<h3>Customizable Reports<\/h3>\n<p>The HTML reports are fully customizable and include:<\/p>\n<ul>\n<li>Responsive design for mobile and desktop viewing<\/li>\n<li>Print-friendly formatting<\/li>\n<li>Professional styling suitable for client presentations<\/li>\n<\/ul>\n<div class=\"vlp-link-container vlp-layout-basic\"><a href=\"https:\/\/github.com\/MSB365\/Exchange-Connectivity-Tester\/tree\/main\" class=\"vlp-link\" title=\"GitHub - MSB365\/Exchange-Connectivity-Tester\" rel=\"nofollow\" target=\"_blank\"><\/a><div class=\"vlp-layout-zone-side\"><div class=\"vlp-block-2 vlp-link-image\"><img decoding=\"async\" src=\"https:\/\/opengraph.githubassets.com\/1512f7be8e237ee85aae553d64f7a97e95ad7941b39f91a0b3264d4b1e252e20\/MSB365\/Exchange-Connectivity-Tester\" style=\"max-width: 150px; max-height: 150px\" \/><\/div><\/div><div class=\"vlp-layout-zone-main\"><div class=\"vlp-block-0 vlp-link-title\">GitHub - MSB365\/Exchange-Connectivity-Tester<\/div><div class=\"vlp-block-1 vlp-link-summary\">Contribute to MSB365\/Exchange-Connectivity-Tester development by creating an account on GitHub.<\/div><\/div><\/div>\n<\/div>\n<h2>Additional Resources<\/h2>\n<ul>\n<li><strong>PowerShell Requirements:<\/strong> Works with PowerShell 5.1+ on Windows 10\/11 and Windows Server<\/li>\n<li><strong>Permissions:<\/strong> Administrator privileges recommended for full functionality<\/li>\n<li><strong>Network Requirements:<\/strong> Internet access for Exchange Online testing<\/li>\n<\/ul>\n<div class=\"tags\"><span class=\"tag\">PowerShell<\/span><br \/>\n<span class=\"tag\">Exchange Server<\/span><br \/>\n<span class=\"tag\">Exchange Online<\/span><br \/>\n<span class=\"tag\">Office 365<\/span><br \/>\n<span class=\"tag\">Outlook<\/span><br \/>\n<span class=\"tag\">IT Administration<\/span><br \/>\n<span class=\"tag\">Troubleshooting<\/span><br \/>\n<span class=\"tag\">Network Connectivity<\/span><br \/>\n<span class=\"tag\">MAPI<\/span><br \/>\n<span class=\"tag\">Autodiscover<\/span><\/div>\n<div class=\"author-section\">\n<h3>About This Tool<\/h3>\n<p>The Exchange Connectivity Tester was developed to address the common challenge of diagnosing Exchange connectivity issues quickly and comprehensively. It combines years of Exchange troubleshooting experience into a single, easy-to-use PowerShell script.<\/p>\n<p><strong>Version:<\/strong> 1.0 | <strong>Compatibility:<\/strong> Exchange 2010+ and Exchange Online | <strong>Platform:<\/strong> Windows PowerShell 5.1+<\/p>\n<\/div>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 An Exchange Troubleshooting PowerShell Tool for IT Administrators Troubleshoot Exchange connectivity issues with this comprehensive PowerShell script that tests all major Exchange protocols and generates professional HTML reports. What is the Exchange Connectivity Tester? The Exchange Connectivity Tester is a PowerShell script designed to help IT administrators and support technicians quickly diagnose Exchange connectivity [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6021,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[2,3],"tags":[],"class_list":["post-6019","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-exchange","category-powershell"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/6019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6019"}],"version-history":[{"count":2,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/6019\/revisions"}],"predecessor-version":[{"id":6022,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/6019\/revisions\/6022"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/media\/6021"}],"wp:attachment":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}