Optimized logging of Rotation/Policies

pull/257/head
KnifMelti 2023-01-13 21:42:06 +01:00
parent 4d0fc6e445
commit c4834c0053
3 changed files with 16 additions and 13 deletions

View File

@ -22,7 +22,11 @@ if ($IsSystem) {
Write-Log "Running in System context" Write-Log "Running in System context"
#Get and set Domain/Local Policies (GPO) #Get and set Domain/Local Policies (GPO)
$ChangedSettings = Get-Policies $ActivateGPOManagement, $ChangedSettings = Get-Policies
if ($null -ne $ChangedSettings -and $ActivateGPOManagement) {
Write-Log "Activated WAU GPO Management detected, comparing..."
Write-Log "Changed settings: $ChangedSettings" "Yellow"
}
# Maximum number of log files to keep. Default is 3. Setting MaxLogFiles to 0 will keep all log files. # Maximum number of log files to keep. Default is 3. Setting MaxLogFiles to 0 will keep all log files.
$MaxLogFiles = $WAUConfig.WAU_MaxLogFiles $MaxLogFiles = $WAUConfig.WAU_MaxLogFiles
@ -43,17 +47,20 @@ if ($IsSystem) {
} }
#LogRotation if System #LogRotation if System
$Rotate = Invoke-LogRotation $LogFile $MaxLogFiles $MaxLogSize $Exception, $Rotate = Invoke-LogRotation $LogFile $MaxLogFiles $MaxLogSize
if ($Rotate) { if ($Exception -eq $True) {
Write-Log "An Exception occured during Log Rotation..."
}
if ($Rotate -eq $True) {
#Log Header #Log Header
$Log = "`n##################################################`n# CHECK FOR APP UPDATES - $(Get-Date -Format (Get-culture).DateTimeFormat.ShortDatePattern)`n##################################################" $Log = "`n##################################################`n# CHECK FOR APP UPDATES - $(Get-Date -Format (Get-culture).DateTimeFormat.ShortDatePattern)`n##################################################"
$Log | Write-host
$Log | out-file -filepath $LogFile -Append $Log | out-file -filepath $LogFile -Append
Write-Log "Running in System context" Write-Log "Running in System context"
if ($null -ne $ChangedSettings) { if ($null -ne $ChangedSettings -and $ActivateGPOManagement) {
Write-Log "Activated WAU GPO Management detected, comparing..." Write-Log "Activated WAU GPO Management detected, comparing..."
Write-Log "Changed settings: $ChangedSettings" "Yellow" Write-Log "Changed settings: $ChangedSettings" "Yellow"
} }
Write-Log "Max Log Size reached: $MaxLogSize bytes - Rotated Logs"
} }
#Run post update actions if necessary if run as System #Run post update actions if necessary if run as System

View File

@ -6,7 +6,6 @@ Function Get-Policies {
if ($WAUPolicies) { if ($WAUPolicies) {
if ($($WAUPolicies.WAU_ActivateGPOManagement -eq 1)) { if ($($WAUPolicies.WAU_ActivateGPOManagement -eq 1)) {
$ChangedSettings = 0 $ChangedSettings = 0
Write-Log "Activated WAU GPO Management detected, comparing..."
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate" $regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate"
if ($null -ne $($WAUPolicies.WAU_BypassListForUsers) -and ($($WAUPolicies.WAU_BypassListForUsers) -ne $($WAUConfig.WAU_BypassListForUsers))) { if ($null -ne $($WAUPolicies.WAU_BypassListForUsers) -and ($($WAUPolicies.WAU_BypassListForUsers) -ne $($WAUConfig.WAU_BypassListForUsers))) {
New-ItemProperty $regPath -Name WAU_BypassListForUsers -Value $($WAUPolicies.WAU_BypassListForUsers) -PropertyType DWord -Force | Out-Null New-ItemProperty $regPath -Name WAU_BypassListForUsers -Value $($WAUPolicies.WAU_BypassListForUsers) -PropertyType DWord -Force | Out-Null
@ -347,11 +346,9 @@ Function Get-Policies {
$ChangedSettings++ $ChangedSettings++
} }
Write-Log "Changed settings: $ChangedSettings" "Yellow"
#Get WAU Configurations after Policies change #Get WAU Configurations after Policies change
$Script:WAUConfig = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate" $Script:WAUConfig = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate"
} }
} }
Return $ChangedSettings Return $($WAUPolicies.WAU_ActivateGPOManagement), $ChangedSettings
} }

View File

@ -48,7 +48,7 @@ function Invoke-LogRotation ($LogFile, $MaxLogFiles, $MaxLogSize) {
Set-Acl -Path $LogFile -AclObject $NewAcl Set-Acl -Path $LogFile -AclObject $NewAcl
} }
catch { catch {
Write-Log $_.Exception.Message Return $True, $False
} }
# if MaxLogFiles is 0 don't delete any old archived log files # if MaxLogFiles is 0 don't delete any old archived log files
@ -69,12 +69,11 @@ function Invoke-LogRotation ($LogFile, $MaxLogFiles, $MaxLogSize) {
} }
} }
} }
Return $True Return $False, $True
} }
} }
} }
catch { catch {
Write-Log "`n`n##################################################`n# CHECK FOR LOG ROTATION - $(Get-Date -Format (Get-culture).DateTimeFormat.ShortDatePattern)`n##################################################" Return $True, $False
Write-Log $_.Exception.Message
} }
} }