Public/Set-DBALibraryConfig.ps1

function Set-DBALibraryConfig {
    <#
    .SYNOPSIS
        Sets SqlBackupRestoreTools session configuration.
 
    .DESCRIPTION
        Sets session-scoped configuration values used by BackupAndRestore.
 
        This module retains the legacy DBALibrary config cmdlet names for backward compatibility.
        Settings are not persisted across PowerShell sessions.
 
    .PARAMETER DBAInstance
        SQL Server instance hosting the logging database used when -EnableDbLogging is specified.
 
    .PARAMETER DBADatabase
        Database name used for SQL-backed logging (writes to dbo.Log). Defaults to 'DBA'.
 
    .PARAMETER SmtpServer
        SMTP relay host used for email notifications.
 
    .PARAMETER SMTPEnabled
        Enables/disables email sending.
 
    .EXAMPLE
        Set-DBALibraryConfig -DBAInstance 'SERVER\INSTANCE' -DBADatabase 'DBA'
 
        Sets the target instance/database for SQL-backed logging.
 
    .EXAMPLE
        Set-DBALibraryConfig -SMTPEnabled $true -SmtpServer 'smtp.yourdomain.local'
 
        Enables email and sets the SMTP relay.
    #>

    [CmdletBinding(SupportsShouldProcess)]
    param(
        [string]$DBAInstance,
        [string]$DBADatabase,
        [string]$SmtpServer,
        [Nullable[bool]]$SMTPEnabled
    )

    if ($PSCmdlet.ShouldProcess('DBALibrary configuration', 'Update')) {
        if ($PSBoundParameters.ContainsKey('DBAInstance')) { $script:DBAInstance = $DBAInstance }
        if ($PSBoundParameters.ContainsKey('DBADatabase')) { $script:DBADatabase = $DBADatabase }
        if ($PSBoundParameters.ContainsKey('SmtpServer')) { $script:smtpserver = $SmtpServer }
        if ($PSBoundParameters.ContainsKey('SMTPEnabled')) { $script:SMTPEnabled = $SMTPEnabled }
    }
}