Files
2026-06-18 08:17:17 -05:00

38 lines
1.3 KiB
PowerShell

# Upgrade-Choco.ps1
# Runs Chocolatey upgrade for all installed packages and logs the output.
$LogFile = Join-Path $PSScriptRoot "Upgrade-Choco.log"
function Log-Message {
param([string]$Message)
$Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$LogLine = "[$Timestamp] $Message"
Write-Output $LogLine
Add-Content -Path $LogFile -Value $LogLine -ErrorAction SilentlyContinue
}
Log-Message "=================================================="
Log-Message "Starting Chocolatey upgrade task..."
Log-Message "=================================================="
# Check if chocolatey is available
if (Get-Command choco -ErrorAction SilentlyContinue) {
Log-Message "Chocolatey found. Executing: choco upgrade all -y"
try {
# Run choco upgrade and append output to log file
# We redirect stdout and stderr to the log file
& choco upgrade all -y 2>&1 | Add-Content -Path $LogFile -ErrorAction SilentlyContinue
Log-Message "Chocolatey upgrade execution completed. Exit code: $LastExitCode"
}
catch {
Log-Message "An error occurred while running choco: $_"
}
} else {
Log-Message "Error: choco command not found."
}
Log-Message "=================================================="
Log-Message "Chocolatey upgrade task finished."
Log-Message "=================================================="