Private/ValidationsFunctions.ps1

function ConfirmRemoteConnection
{
    [CmdletBinding()]
    Param
    (  
        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        $ComputerName
    )

    $successConnecton = Test-Connection -ComputerName $ComputerName -Quiet
    return $successConnecton
}

function ConfirmSqlServerConnection
{
    [CmdletBinding()]
    Param
    (  
        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$SqlServerName,

        [string]$LogFile
    )
    
    try
    {
        WriteLog -Path $LogFile -Message "Testing SQL Server connection for '$SqlServerName'"

        ImportSqlServerAssemblies -LogFile $LogFile
        
        $sqlServer = New-Object -TypeName Microsoft.SQLServer.Management.Smo.Server($SqlServerName)
        $sqlServer.Databases | Out-Null

        WriteLog -Path $LogFile -Message "Successful SQL Server connection for '$SqlServerName'"
    }
    catch
    {
        Write-Host "SQL Server connection failed '$($sqlServer.Name)'" -ForegroundColor "Red" 
        Throw
    }
}