Exchange EWS and SMTP Relay Usage Scanner

Discover Hidden Applications Using Your Exchange Server

A PowerShell Solution for Seamless Migration Planning

Are you planning to migrate from on-premise Exchange to Exchange Online or another platform? One of the biggest challenges is identifying all the applications and tools that are still using your Exchange server. Today, I’m sharing a powerful PowerShell script that automatically discovers these hidden dependencies.

The Challenge: Hidden Exchange Dependencies

During Exchange migrations, IT administrators often discover applications they didn’t know were using Exchange services. These can include:

Legacy Applications

Using Exchange Web Services (EWS)

Network Devices

Using Exchange as SMTP relay

Third-party Software

Sending notifications through Exchange

Custom Scripts

Automation tools and scheduled tasks

Why This Matters

Discovering these dependencies after migration can lead to broken functionality, frustrated users, and emergency rollbacks. Prevention is always better than cure!

️ Introducing the Exchange EWS and SMTP Relay Scanner

I’ve developed a comprehensive PowerShell script that analyzes your Exchange server logs to identify all applications using EWS or SMTP relay services. The script generates a detailed HTML report that helps you plan your migration strategy.

✨ Key Features

EWS Usage Detection

Identifies applications using Exchange Web Services by analyzing IIS logs and Exchange event logs.

Smart Analysis

SMTP Relay Detection

Discovers devices and applications using your Exchange server as an SMTP relay.

Complete Coverage

Interactive Reports

Generates beautiful HTML reports with detailed information about each discovered application.

Visual Insights

Flexible Configuration

Automatically detects log paths or allows manual selection through user-friendly dialogs.

Easy Setup

What the Script Discovers

The script analyzes multiple data sources to provide comprehensive coverage:

EWS Applications

  •  Client IP addresses
  •  User agent strings (application identifiers)
  •  First and last seen timestamps
  •  Request frequency and patterns
  •  Common endpoints accessed

SMTP Relay Usage

  •  Sending IP addresses
  •  Message volume and frequency
  •  Authentication methods used
  •  Common sender addresses
  •  Time patterns of usage

How to Use the Script

Using the script is straightforward, even for those new to PowerShell:

 

1 Prerequisites

On-premise Exchange Server (2013, 2016, or 2019)
Exchange Management Shell access
Administrator privileges

2 Basic Usage

PowerShell
# Download and save the script to your Exchange server
# Open Exchange Management Shell as Administrator
# Navigate to the script directory and run:

.\Get-ExchangeUsageReport.ps1

The script will guide you through the process with interactive dialogs!

 

3 Advanced Options

PowerShell
# Analyze the last 60 days instead of 30
.\Get-ExchangeUsageReport.ps1 -DaysToAnalyze 60

# Specify custom log paths
.\Get-ExchangeUsageReport.ps1 -IISLogPath "D:\IISLogs\W3SVC1"

# Non-interactive mode for automation
.\Get-ExchangeUsageReport.ps1 -UseFileDialog $false -OutputPath "C:\Reports\EWSReport.html"

Understanding the Report

The generated HTML report provides a comprehensive overview of your Exchange usage:

Sample Report Dashboard

Real-World Benefits

Organizations using this script have discovered:

Legacy Applications

Old mobile device management systems and custom applications still using EWS

Critical

Automation Scripts

Scheduled tasks and PowerShell scripts sending reports via Exchange SMTP

Medium Impact

Third-Party Software

CRM systems, backup software, and business applications with Exchange integration

Business Critical

Migration Planning Made Easy

Plan application updates before migration

Configure alternative SMTP relays for devices

Update application configurations to use Exchange Online

Communicate with stakeholders about required changes

Create a comprehensive migration timeline

Pro Tip

Run the script multiple times over different periods (weekdays vs. weekends, month-end vs. regular days) to capture applications that only run periodically.

Ready to Get Started?

Download the Exchange EWS and SMTP Relay Scanner today!

GitHub Repository

Complete source code with documentation

Requirements

PowerShell 5.1+, Exchange Management Shell

License

MIT License (Free for commercial use)

Take Control of Your Exchange Migration

Don’t let hidden Exchange dependencies derail your migration project. This PowerShell script provides the visibility you need to plan and execute successful Exchange migrations.

The tool has already helped numerous organizations identify critical dependencies before migration, saving time, money, and preventing service disruptions.

Ready to Discover Your Exchange Dependencies?

Download the script today and take the first step toward a successful Exchange migration. Your future self will thank you for the thorough preparation!

Leave a Reply