dsccommunity/ExchangeDsc

xExchSendConnector [1.31.0]: TlsAuthLevel Always Tests Null

acstyche opened this issue · 2 comments

Details of the scenario you tried and the problem that is occurring

Our DSC always detects configuration drift because TlsAuthLevel always returns ' ' when tested.

Running Get-SendConnector on the Exchange server shows the value is set as "DomainValidation".

Verbose logs showing the problem

VERBOSE: [UK1-TST-EX01]: LCM: [ Start Test ] [[xExchSendConnector]Office365]
May 4th 2020 11:41:07Info
VERBOSE: [UK1-TST-EX01]: [[xExchSendConnector]Office365] Entering function
May 4th 2020 11:41:07Info
'Test-TargetResource'. Notable parameters: Identity = ''
May 4th 2020 11:41:07Info
VERBOSE: [UK1-TST-EX01]: [[xExchSendConnector]Office365] Reusing existing Remote PowerShell
May 4th 2020 11:41:07Info
Session to Exchange
May 4th 2020 11:41:07Info
VERBOSE: [UK1-TST-EX01]: [[xExchSendConnector]Office365] Entering function
May 4th 2020 11:41:07Info
'Get-TargetResource'. Notable parameters: Identity = 'Outbound to Office 365'
May 4th 2020 11:41:07Info
VERBOSE: [UK1-TST-EX01]: [[xExchSendConnector]Office365] Reusing existing Remote PowerShell
May 4th 2020 11:41:07Info
Session to Exchange
May 4th 2020 11:41:12Info
> VERBOSE: [UK1-TST-EX01]: [[xExchSendConnector]Office365] Invalid setting 'TlsAuthLevel'.
May 4th 2020 11:41:12Info
Expected value: 'DomainValidation'. Actual value: ''

May 4th 2020 11:41:12Info
VERBOSE: [UK1-TST-EX01]: LCM: [ End Test ] [[xExchSendConnector]Office365] in 3.8480 seconds.

Suggested solution to the issue

I believe this is because the returned array from Get-TargetResource does not include TlsAuthLevel.

The DSC configuration that is used to reproduce the issue (as detailed as possible)

xExchSendConnector Office365
{
    Name = "Outbound to Office 365"
    Ensure = "Present"
    AddressSpaces = $Node.Office365Address
    ConnectionInactivityTimeout = "00:10:00"
    ConnectorType = "Default"
    DNSRoutingEnabled = $false
    DomainSecureEnabled = $false
    Enabled = $true
    ErrorPolicies = "Default"
    ForceHELO = $false
    FrontendProxyEnabled = $false
    IgnoreSTARTTLS = $false
    IsScopedConnector = $false
    MaxMessageSize = $Node.MaxMessageSize
    Port = "25"
    ProtocolLoggingLevel = "None"
    RequireTLS = $true
    SmartHostAuthMechanism = "None"
    SmartHosts = $Node.SmartHostAddress
    SmtpMaxMessagesPerConnection = "20"
    SourceIPAddress = "0.0.0.0"
    SourceTransportServers = "EX2016-WH1"
    TlsAuthLevel = "DomainValidation"
    TlsDomain = $Node.TlsDomain
    TlsCertificateName = $Node.TlsCert
    UseExternalDNSServersEnabled = $false
    Credential = $AdminCredentials
}

Exchange Server edition and version the target node is running

Exchange Server 2019 CU5 Enterprise
Version 15.2 (Build 595.3)

The operating system the target node is running

OsName Microsoft Windows Server 2019 Standard
OsOperatingSystemSKU StandardServerEdition
OsArchitecture 64-bit
WindowsVersion 1809
WindowsBuildLabEx 17763.1.amd64fre.rs5_release.180914-1434
OsLanguage en-US
OsMuiLanguages {en-US}

Version and build of PowerShell the target node is running

PSVersion 5.1.17763.1007
BuildVersion 10.0.17763.1007

Version of the DSC module that was used

xExchange 1.31.0 C:\Program Files\WindowsPowerShell\Modules\xExchange\1.31.0\xExchange.psd1

Hi @acstyche,

true,true...Copy-paste failure probably. PR is comming in few mins.

Haha...it happens! Thanks a lot @SSvilen.