Public/Get-MSPBackupSetting.ps1

Function Get-MSPBackupSetting {
    <#
        .SYNOPSIS
            List application settings.
        .DESCRIPTION
            List application settings. Produces a table with columns in this order:
                NAME Setting name
                VALUE Setting value
            Setting name (first column) could further be used to modify this specific setting value.
 
        .PARAMETER Plugin
            Supported plugins: sims
        .PARAMETER SettingName
            Supported setting name: sims.server, sims.database, sims.db.attach.path, sims.path.to.shared, sims.path.to.dms,
            sims.backup.master, discover.database, discover.db.attach.path, fms.server, fms.database, fms.db.attach.path
        .INPUTS
            None
        .OUTPUTS
            None
        .EXAMPLE
            Get-MSPBackupSetting
        .LINK
            about_functions_advanced
        .LINK
            about_CommonParameters
    #>

    [CmdletBinding()]
    [OutputType('System.String')]
    Param(
        [ValidateSet('sims')]
        [String]$Plugin,
        [ValidateSet('sims.server', 'sims.database', 'sims.db.attach.path', 'sims.path.to.shared', 'sims.path.to.dms', 'sims.backup.master', 'discover.database', 'discover.db.attach.path', 'fms.server', 'fms.database', 'fms.db.attach.path')]
        [String]$SettingName
    )
    Begin {
        Write-Verbose ('{0}:: Function started' -f $MyInvocation.MyCommand)
        $stdOutTempFile = [System.IO.Path]::GetTempFileName()
        $stdErrTempFile = [System.IO.Path]::GetTempFileName()
    }
    Process {
        Write-Verbose ('{0}:: Getting status' -f $MyInvocation.MyCommand)
        $Status = & $Script:CmdPath -machine-readable control.setting.list
    }
    End {
        Write-Verbose ('{0}:: Function ended' -f $MyInvocation.MyCommand)
        Return $Status
    }
}