Cmdlets/Get-FusionLogger.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<#
.SYNOPSIS
Get the Fusion Logger configuration options

.DESCRIPTION
Get the Fusion Logger configuration options

.EXAMPLE
C:\PS> Get-FusionLogger
LogFailures : True
LogInExceptionText : False
LogAll : False
LogImmersive : False
LogPath : C:\ts\fusionlogs\
#>

function Get-FusionLogger {

    [CmdletBinding()]
    Param(
    )
    PROCESS 
    {
        $logPath = Get-ItemProperty -Path HKLM:\Software\Microsoft\Fusion -Name "LogPath" -ErrorAction SilentlyContinue
        $logImmersive = Get-ItemProperty -Path HKLM:\Software\Microsoft\Fusion -Name "LogImmersive" -ErrorAction SilentlyContinue
        $forceLog = Get-ItemProperty -Path HKLM:\Software\Microsoft\Fusion -Name "ForceLog" -ErrorAction SilentlyContinue
        $enableLog = Get-ItemProperty -Path HKLM:\Software\Microsoft\Fusion -Name "EnableLog" -ErrorAction SilentlyContinue
        $logFailures = Get-ItemProperty -Path HKLM:\Software\Microsoft\Fusion -Name "LogFailures" -ErrorAction SilentlyContinue

        $result = New-Object System.Management.Automation.PSObject
        $result | Add-Member -MemberType NoteProperty -Name "Kind" -Value "GetFusionLoggerResult"
        $result | Add-Member -MemberType NoteProperty -Name "LogFailures" -Value $($logFailures.LogFailures -eq 1)
        $result | Add-Member -MemberType NoteProperty -Name "LogInExceptionText" -Value $($enableLog.EnableLog -eq 1)
        $result | Add-Member -MemberType NoteProperty -Name "LogAll" -Value $($forceLog.ForceLog -eq 1)
        $result | Add-Member -MemberType NoteProperty -Name "LogImmersive" -Value $($logImmersive.LogImmersive -eq 1)
        $result | Add-Member -MemberType NoteProperty -Name "LogPath" -Value $logPath.LogPath

        Write-Output $result
        Write-Verbose $result
    }
}