Skip to content

Conversation

Copy link

Copilot AI commented Dec 8, 2025

PowerShell tool with WPF GUI for managing Active Directory ProxyMailAddresses in MS365 ADSync environments without local Exchange Server.

Core Implementation

Main Application (easyEXCH-ProxyMailAddresses.ps1, 664 lines)

  • WPF GUI with XAML-defined interface
  • User search via DisplayName, SamAccountName, or Mail
  • ProxyAddress operations: view, add, remove, set primary
  • Automatic primary address demotion when setting new primary

Key Technical Decisions

  • Email validation: .NET System.Net.Mail.MailAddress class instead of regex for RFC compliance
  • AD queries: -ResultSetSize parameter vs Select-Object -First for server-side limiting
  • WPF threading: Dispatcher.Invoke() vs DoEvents() to prevent reentrancy
  • XAML events: Add_EventName() methods in PowerShell (inline handlers unsupported)
# ProxyAddress format: uppercase TYPE = primary, lowercase = secondary
SMTP:user@domain.com    # Primary
smtp:alias@domain.com   # Secondary

# Setting primary demotes existing primary automatically
Set-ADUser -Identity $user -Replace @{ProxyAddresses=$newAddresses}

Documentation

  • README.md: Feature overview, installation, usage patterns
  • QUICKSTART.md: 3-step onboarding with common tasks
  • INSTALLATION.md: RSAT setup, prerequisites, troubleshooting
  • EXAMPLES.md: MS365 migration, department changes, multi-alias scenarios
  • SECURITY.md: Least privilege model, audit logging, compliance considerations
  • CHANGELOG.md: Version history and roadmap

Security

  • Input validation using .NET MailAddress
  • Confirmation dialogs for destructive operations (with extra warning for primary SMTP removal)
  • AD permissions: read User objects, write ProxyAddresses only (no Domain Admin required)
  • Query result limiting (50 users) for resource protection
Original prompt

easyEXCH ProxyAddress Manager ist ein PowerShell-basiertes Tool mit moderner WPF-GUI zur Verwaltung von ProxyMailAddresses in Active Directory. Es wurde speziell für Umgebungen entwickelt, in denen kein lokaler Exchange Server mehr vorhanden ist, aber MS365 ADSync verwendet wird.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits December 8, 2025 20:34
…umentation

Co-authored-by: mPhin87 <164238260+mPhin87@users.noreply.github.com>
…optimization, email validation

Co-authored-by: mPhin87 <164238260+mPhin87@users.noreply.github.com>
Co-authored-by: mPhin87 <164238260+mPhin87@users.noreply.github.com>
Copilot AI changed the title [WIP] Add ProxyAddress Manager tool for Active Directory Implement easyEXCH ProxyAddress Manager for MS365 ADSync environments Dec 8, 2025
Copilot AI requested a review from mPhin87 December 8, 2025 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants