From a2014996f64c65b61e026e850a8ad07b49774f2c Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Mon, 6 May 2024 18:48:30 +0200 Subject: [PATCH] Updated check-apps.ps1 --- scripts/check-apps.ps1 | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/scripts/check-apps.ps1 b/scripts/check-apps.ps1 index 50111a41..da4564d1 100755 --- a/scripts/check-apps.ps1 +++ b/scripts/check-apps.ps1 @@ -12,28 +12,43 @@ Author: Markus Fleschutz | License: CC0 #> +function GetCrashDumps { + [string]$path = Resolve-Path -Path "~\AppData\Local\CrashDumps" + $count = 0 + $files = (Get-ChildItem -path "$path\*.dmp" -attributes !Directory) + foreach($file in $files) { $count++ } + return $count +} + try { + $statusIcon = "✅" + $statusMsg = "" if ($IsLinux) { Write-Progress "Querying installed applications..." $numPkgs = (apt list --installed 2>/dev/null).Count $numSnaps = (snap list).Count - 1 - Write-Progress -Completed "." - Write-Host "✅ $numPkgs Debian packages, $numSnaps snaps installed" + Write-Progress -completed "Done." + $statusMsg += "$numPkgs Debian packages, $numSnaps snaps installed" } else { - Write-Progress "Querying installed applications..." + Write-Progress "Querying installed apps..." $Apps = Get-AppxPackage - Write-Progress -Completed "." - Write-Host "✅ $($Apps.Count) Windows apps installed, " -noNewline + Write-Progress -completed "Done." + $statusMsg = "$($Apps.Count) Win apps installed" - [int]$NumNonOk = 0 - foreach($App in $Apps) { if ($App.Status -ne "Ok") { $NumNonOk++ } } - if ($NumNonOk -gt 0) { $Status += ", $NumNonOk non-ok" } - [int]$NumErrors = (Get-AppxLastError) - if ($NumErrors -gt 0) { $Status += ", $NumErrors errors" } + [int]$numNonOk = 0 + foreach($App in $Apps) { if ($App.Status -ne "Ok") { $numNonOk++ } } + if ($numNonOk -gt 0) { $statusIcon = "⚠️"; $statusMsg += ", $numNonOk non-ok" } - $NumUpdates = (winget upgrade --include-unknown).Count - 5 - Write-Host "$NumUpdates upgrades available" + [int]$numErrors = (Get-AppxLastError) + if ($numErrors -gt 0) { $statusIcon = "⚠️"; $statusMsg += ", $numErrors errors" } + + $numUpdates = (winget upgrade --include-unknown).Count - 5 + $statusMsg += ", $numUpdates upgrades available" + + $crashDumps = GetCrashDumps + if ($crashDump -ne 0) { $statusIcon = "⚠️"; $statusMsg += ", $crashDumps crash dumps found" } } + Write-Host "$statusIcon $statusMsg" exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"