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 8,959 10/30/2019 7,967 9/19/2019 7,766 8/8/2019 30,047 2/20/2019 897 1/10/2019 407 11/29/2018 (current version) 481 10/25/2018 382 9/5/2018 345 7/25/2018 462 6/13/2018 420 5/2/2018 1,017 2/8/2018 419 12/20/2017 339 11/15/2017 599 8/23/2017 609 5/31/2017 926 3/8/2017 447 1/26/2017 368 12/14/2016 363 11/2/2016 473 9/21/2016 364 8/10/2016 312 6/29/2016 454 5/18/2016 977 2/3/2016 381 11/16/2015 140 10/22/2015 757 9/11/2015 175 7/24/2015 266 4/23/2015 126 2/19/2015 37 12/18/2014 57 10/28/2014 24 10/16/2014
Show less