Public/Application/Get-DuoForWindowsConfig.ps1

<#
Copyright © 2024 Integris. For internal company use only. All rights reserved.
#>


FUNCTION Get-DuoForWindowsConfig {
   
    [CmdletBinding()]
    PARAM ( )

    $App = Get-ApplicationInstalled "Duo Auth"
 
    $Results = [PSCustomObject]@{
        AppName = $App.Name
        AppVersion = $App.Version
        IKey = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).IKey
        SKey = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).Skey
        HostAPI = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).Host
        AutoPush = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).AutoPush
        FailOpen = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).FailOpen
        RDPOnly = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).RDPOnly
        SmartCard = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).EnableSmartCards
        WrapSmartCard = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).WrapSmartCards
        EnableOffline = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).OfflineAvailable
        UserNameFormat = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).UserNameFormatForService        
        LogFile_MaxCount = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).LogFileMaxCount
        LogFile_MaxSizeMB = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).LogFileMaxSizeMB
        UAC_ProtectMode = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).ElevationProtectionMode
        UAC_Offline = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).ElevationOfflineEnable
        UAC_Offline_Enroll = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).ElevationOfflineEnrollment
        ProxyHost = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).ProxyHost
        ProxyPort = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Duo Security\DuoCredProv" -ErrorAction SilentlyContinue).ProxyPort
    }

    RETURN $Results
}