Use "splatting" to do this.
$parameters = @{}
$parameters['AutoReplyState'] = if ( ($StartDate) -or ($EndDate) ) {'Scheduled'} else {'Enabled'}
if ($StartDate) { $parameters['StartTime'] = $StartDate}
if ($EndDate) { $parameters['EndTime'] = $EndDate}
if ($Message) { $parameters['InternalMessage'] = "$Message"; $parameters['ExternalMessage'] = $Message }
$parameters['Confirm'] = $false
$parameters['Identity'] = $User
Set-MailboxAutoReplyConfiguration @parameters