dsccommunity/ExchangeDsc

xExchOabVirtualDirectory: xExchange resources errrors after upgrading module from 1.13 to 1.32

Opened this issue · 1 comments

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

After upgrading the xExchange module on our pull server, I'm having these event viewer errors on most of the xExchange resources (not just xExchOabVirtualDirectory):

This event indicates that a non-terminating error was thrown when DSCEngine was executing Test-TargetResource on MSFT_xExchOabVirtualDirectory DSC resource. FullyQualifiedErrorId is RuntimeException. ErrorMessage is Cannot convert the "[PSSession]DSCExchangeSession" value of type "System.Management.Automation.Runspaces.PSSession" to type "System.Management.Automation.Remoting.PSSessionOption"..

This event indicates that a non-terminating error was thrown when DSCEngine was executing Test-TargetResource on MSFT_xExchOabVirtualDirectory DSC resource. FullyQualifiedErrorId is Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand. ErrorMessage is The specified module 'C:\Windows\TEMP\DSCExchangeModule\DSCExchangeModule.psm1' was not loaded because no valid module file was found in any module directory..

It's always those two errors showing for each resource.

Verbose logs showing the problem

N/A

Suggested solution to the issue

N/A

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

        # Deploy Cert
        xExchExchangeCertificate Certificate
        {
            Thumbprint = $exchangeConfig.MailboxThumbprint
            Credential = $Credential
            Ensure = 'Present'
            AllowExtraServices = $true
            CertCreds = $CertCredential
            CertFilePath = '{CertFullPath}'
            Services = 'IIS','POP','IMAP','SMTP'
            DependsOn = '[xRemoteFile]ExchangeCertDownload'
        }

        ### CAS specific settings ###
        xExchClientAccessServer CAS
        {
            Identity = $Node.NodeName
            Credential = $Credential
            AutoDiscoverServiceInternalUri = $null
        }

        xExchAutodiscoverVirtualDirectory AutodiscoverVDIR
        {
            Identity = "$($Node.NodeName)\Autodiscover (Default Web Site)"
            Credential = $Credential
            WSSecurityAuthentication = $true
        }

        xExchActiveSyncVirtualDirectory ASVdir
        {
            Identity = "$($Node.NodeName)\Microsoft-Server-ActiveSync (Default Web Site)"
            Credential = $Credential
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/Microsoft-Server-ActiveSync"
            InternalUrl = "https://$($exchangeConfig.InternalNamespace)/Microsoft-Server-ActiveSync"
        }

        xExchOwaVirtualDirectory OWAVdir
        {
            Identity = "$($Node.NodeName)\owa (Default Web Site)"
            Credential = $Credential
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/owa"
            InternalUrl = "https://$($exchangeConfig.InternalNamespace)/owa"
            LogonFormat = 'UserName'
            DefaultDomain = '{domain}'
        }

        xExchEcpVirtualDirectory ECPVDir
        {
            Identity = "$($Node.NodeName)\ecp (Default Web Site)"
            Credential = $Credential
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/ecp"
            InternalUrl = "https://$($exchangeConfig.InternalNamespace)/ecp"
        }

        xExchMapiVirtualDirectory MAPIVdir
        {
            Identity = "$($Node.NodeName)\mapi (Default Web Site)"
            Credential = $Credential
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/mapi"
            InternalUrl = "https://$($exchangeConfig.InternalNamespace)/mapi"
            IISAuthenticationMethods = 'Ntlm','OAuth','Negotiate'
        }

        xExchOabVirtualDirectory OABVdir
        {
            Identity = "$($Node.NodeName)\OAB (Default Web Site)"
            Credential = $Credential
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/oab"
            InternalUrl = "https://$($exchangeConfig.InternalNamespace)/oab"
        }

        xExchOutlookAnywhere OAVdir
        {
            Identity = "$($Node.NodeName)\Rpc (Default Web Site)"
            Credential = $Credential
            ExternalClientAuthenticationMethod = 'Ntlm'
            ExternalClientsRequireSSL = $true
            ExternalHostName = "$($exchangeConfig.ExternalNamespace)"
            IISAuthenticationMethods = 'Basic', 'Ntlm'
            InternalClientAuthenticationMethod = 'Ntlm'
            InternalClientsRequireSSL = $true
            InternalHostName = "$($exchangeConfig.InternalNamespace)"
        }

        xExchWebServicesVirtualDirectory EWSVdir
        {
            Identity = "$($Node.NodeName)\EWS (Default Web Site)"
            Credential = $Credential
            BasicAuthentication = $true
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/ews/exchange.asmx"
            InternalNLBBypassUrl = "https://$($Node.NodeName).$($Node.DomainName)/ews/exchange.asmx"
            InternalUrl = "https://$($exchangeConfig.InternalNamespace)/ews/exchange.asmx"
            WSSecurityAuthentication = $true
        }

        xExchPowerShellVirtualDirectory PowershellVDir
        {
            Credential = $Credential
            Identity = "$($Node.NodeName)\PowerShell (Default Web Site)"
            ExternalUrl = "https://$($exchangeConfig.ExternalNamespace)/powershell"
            InternalUrl = "http://$($Node.NodeName).$($Node.DomainName)/powershell"
            WindowsAuthentication = $true
            CertificateAuthentication = $false
        }

Exchange Server edition and version the target node is running

Exchange Server 2016 CU16

The operating system the target node is running

Windows Server 2012 R2 Standard 64-bit
Version 6.3 (Build 9600)

Version and build of PowerShell the target node is running

Name Value


PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.3.9600.19170
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2

Version of the DSC module that was used

1.32.0

I think this issue need more verbose logs from the output when running the resource. Since there are integration tests for this module this seems to not happen for the integration test which could indicate the environment that generate this error have son other setup that we are not testing.