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

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 (current version) 298 10/25/2018 364 9/5/2018 330 7/25/2018 449 6/13/2018 408 5/2/2018 1,009 2/8/2018 413 12/20/2017 334 11/15/2017 592 8/23/2017 604 5/31/2017 920 3/8/2017 442 1/26/2017 363 12/14/2016 358 11/2/2016 468 9/21/2016 359 8/10/2016 293 6/29/2016 445 5/18/2016 972 2/3/2016 376 11/16/2015 135 10/22/2015 749 9/11/2015 170 7/24/2015 260 4/23/2015 121 2/19/2015 32 12/18/2014 52 10/28/2014 18 10/16/2014