timmcmic / DLConversionV2

MIT License
44 stars 9 forks source link

RequireSenderAuthenticationEnabled not copied to EXO #9

Closed adamdrayer closed 2 years ago

adamdrayer commented 2 years ago

Our on-premises DLs have the attribute RequireSenderAuthenticationEnabled set to $true, but after running the conversion script this attribute is set to $false on the online DL.

The strange part is that the New-DistributionGroup command is supposed to set this to $True when no parameter is specified. We have tried creating a new DL with New-DistributionGroup without the parameter and it does set the attribute to $true on the new online DL. But when we run the V2 script, the new DLs are created with the attribute set to false, and we can't explain why. The parameter is not specified in your code, so it should default to $true.

What could be a solution is modifying set-Office365DLMV.ps1 to read the attribute value from the originalconfiguration xml file (I've confirmed the attribute is already documented there) and use a Set-o365DistributionGroup command to set the new online DL to the same value as the on-prem DL had. But that's just a thought.

timmcmic commented 2 years ago

Adam:

This was supposed to already been addressed. The following code block in set DL had it covered.

if ($originalDLConfiguration.msExchRequireAuthToSendTo -eq $NULL) { out-logfile -string ("Require auth to send to is not set.")

        $functionRequireAuthToSendTo = $FALSE

        out-logfile -string ("The new require auth to sent to is: "+$functionRequireAuthToSendTo)
    }
    else 
    {
        out-logfile -string ("Require auth to send to is set - retaining value. "+ $originalDLConfguration.msExchRequireAuthToSendTo)

        $functionRequireAuthToSendTo = $originalDLConfguration.msExchRequireAuthToSendTo
    }

The only problem was the variable was not spelled correctly - so it turned Null every time and set it to false.

This is one of those unique attributes that exchange translates in exchange commands - so if the attribute is not set exchange displays FALSE even though it's NULL. So this function translates that like others.

Checked into latest release on the powershell gallery.

adamdrayer commented 2 years ago

This is great, I really appreciate your work on this. I will test this in the afternoon and update you on the results.
Thanks again!

timmcmic commented 2 years ago

@adamdrayer is all good with your testing - if so I'll close this issue.

adamdrayer commented 2 years ago

This works now, thanks! Feel free to close