Module with DSC Resources for deployment and configuration of Microsoft Exchange Server.

Minimum PowerShell version


Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name xExchange -RequiredVersion

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deloy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Microsoft Corporation


(c) 2018 Microsoft Corporation. All rights reserved.



DesiredStateConfiguration DSC DSCResourceKit DSCResource


Get-ExistingRemoteExchangeSession Get-RemoteExchangeSession New-RemoteExchangeSession Import-RemoteExchangeSession Remove-RemoteExchangeSession Test-ExchangePresent Get-ExchangeVersionYear Get-ExchangeUninstallKey Get-DetailedInstalledVersion Test-ExchangeSetupComplete Test-ExchangeSetupPartiallyCompleted Get-SetupExeVersion Test-ShouldUpgradeExchange Get-ExchangeInstallStatus Set-WSManConfigStatus Test-ShouldInstallUMLanguagePack Test-ExchangeSetupRunning Compare-StringToString Compare-BoolToBool Compare-TimespanToString Compare-ByteQuantifiedSizeToString Compare-UnlimitedToString Compare-ADObjectIdToSmtpAddressString Convert-StringToArray Convert-StringArrayToLowerCase Compare-ArrayContent Test-ArrayElementsInSecondArray Add-ToPSBoundParametersFromHashtable Remove-FromPSBoundParametersUsingHashtable Remove-NotApplicableParamsForVersion Set-EmptyStringParamsToNull Test-ExchangeSetting Write-InvalidSettingVerbose Write-FunctionEntry Start-ExchangeScheduledTask Test-CmdletHasParameter Get-PreviousError Assert-NoNewError Restart-ExistingAppPool Test-UMLanguagePackInstalled Compare-IPAddressToString Compare-SmtpAddressToString Compare-IPAddressesToArray Compare-PSCredential Test-ExtendedProtectionSPNList Assert-IsSupportedWithExchangeVersion Invoke-DotSourcedScript Remove-HelperSnapin Wait-ForProcessStart Wait-ForProcessStop Assert-ExchangeSetupArgumentsComplete


xExchActiveSyncVirtualDirectory xExchAntiMalwareScanning xExchAutodiscoverVirtualDirectory xExchAutoMountPoint xExchClientAccessServer xExchDatabaseAvailabilityGroup xExchDatabaseAvailabilityGroupMember xExchDatabaseAvailabilityGroupNetwork xExchEcpVirtualDirectory xExchEventLogLevel xExchExchangeCertificate xExchExchangeServer xExchImapSettings xExchInstall xExchJetstress xExchJetstressCleanup xExchMailboxDatabase xExchMailboxDatabaseCopy xExchMailboxServer xExchMailboxTransportService xExchMaintenanceMode xExchMapiVirtualDirectory xExchOabVirtualDirectory xExchOutlookAnywhere xExchOwaVirtualDirectory xExchPopSettings xExchPowerShellVirtualDirectory xExchReceiveConnector xExchTransportService xExchUMCallRouterSettings xExchUMService xExchWaitForADPrep xExchWaitForDAG xExchWaitForMailboxDatabase xExchWebServicesVirtualDirectory


This module has no dependencies.

Release Notes

- xExchangeHelper.psm1: Renamed common functions to use proper Verb-Noun
 format. Also addresses many common style issues in functions in the file, as
 well as in calls to these functions from other files.
- MSFT_xExchTransportService: Removed functions that were duplicates of helper
 functions in xExchangeHelper.psm1.
- Fixes an issue where only objects of type Mailbox can be specified as a
 Journal Recipient. Now MailUser and MailContact types can be used as well.
- Update appveyor.yml to use the default template.
- Added default template files .codecov.yml, .gitattributes, and .gitignore, and
 .vscode folder.
- Add Unit Tests for xExchAntiMalwareScanning
- Add remaining Unit Tests for xExchInstall, and for most common setup
- Added ActionForUnknownFileAndMIMETypes,WSSAccessOnPublicComputersEnabled,
 UNCAccessOnPrivateComputersEnabled and GzipLevel to xExchOwaVirtualDirectory.
- Added GzipLevel and AdminEnabled to xExchEcpVirtualDirectory.
- Added OAuthAuthentication to xExchOabVirtualDirectory.
- Updated readme with the new parameters and removed a bad parameter from
 xExchOwaVirtualDirectory that did not actually exist.
- Updated .gitattributes to allow test .pfx files to be saved as binary
- Added Cumulative Update / Exchange update support to xExchInstall resource.
- Add remaining Unit Tests for all xExchangeHelper functions that don"t
 require the loading of Exchange DLL"s.
- Renamed and moved file Examples/HelperScripts/ExchangeConfigHelper.psm1 to
 Modules/xExchangeCalculatorHelper.psm1. Renamed functions within the module
 to conform to proper function naming standards. Added remaining Unit tests
 for module.

Version History

Version Downloads Last updated 382 2/20/2019 400 1/10/2019 394 11/29/2018 (current version) 445 10/25/2018 367 9/5/2018 331 7/25/2018 450 6/13/2018 409 5/2/2018 1,013 2/8/2018 414 12/20/2017 335 11/15/2017 594 8/23/2017 605 5/31/2017 921 3/8/2017 443 1/26/2017 364 12/14/2016 359 11/2/2016 469 9/21/2016 360 8/10/2016 300 6/29/2016 446 5/18/2016 973 2/3/2016 377 11/16/2015 136 10/22/2015 750 9/11/2015 171 7/24/2015 261 4/23/2015 122 2/19/2015 33 12/18/2014 53 10/28/2014 20 10/16/2014