diff --git a/install.ps1 b/install.ps1 index 2ddcce7..89bfb71 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,14 @@ else { } + ## Setze das default Log Level +Set-LoggingDefaultLevel -Level 'WARNING' +Add-LoggingTarget -Name Console +Add-LoggingTarget -Name File -Configuration @{Path = '~/.winconfig/run.log'} + + +Write-Log -Level ($Level | Get-Random) -Message 'Message n. {0}' -Arguments $i @@ -57,22 +64,45 @@ do { $selection = Read-Host "Bitte Aufgabe auswählen" switch ($selection) { '1' { - foreach ($utility in $toRemove) { - winget uninstall --id $utility + foreach ($utility in $toRemove) { + Write-Log -Level 'INFO' -Message 'Versuche Paket {0} zu deinstallieren' -Arguments $utility + Try { + winget uninstall --id $utility + Write-Log -Level 'INFO' -Message 'Paket {0} erfolgreich deinstalliert.' -Arguments $utility + } + Catch { + Write-Log -Level 'WARN' -Message 'Paket {0} konnte nicht deinstalliert werden.' -Arguments $utility + Write-Log -Level 'WARN' -Message '$_.Exception.Message' -Arguments $utility + Write-Host "Paket $utility konnte nicht deinstalliert werden. " -ForegroundColor red + } } - remove-item ~\Desktop* -include *.lnk } '2' { - # Winget config reinrödeln - Remove-Item "~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json" - New-Item -Path "~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json" -ItemType SymbolicLink -Value "~/.winconfig/configs/winget/settings.json" - # Krempeln deinstallieren + # Winget config installieren + if (-not(Test-Path -Path '~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json' -PathType leaf)){ + New-Item -Path "~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json" -ItemType SymbolicLink -Value "~/.winconfig/configs/winget/settings.json" + } + else { + Remove-Item "~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json" + New-Item -Path "~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json" -ItemType SymbolicLink -Value "~/.winconfig/configs/winget/settings.json" + } + # Crap deinstallieren foreach ($utility in $toInstall) { $ergebnis = winget list --id $utility + Write-Log -Level 'INFO' -Message 'Versuche Paket {0} zu deinstallieren' -Arguments $utility if ($ergebnis -eq "Es wurde kein installiertes Paket gefunden, das den Eingabekriterien entspricht.") { - winget install -e --id $utility --silent + Try { + winget install -e --id $utility --silent + Write-Log -Level 'INFO' -Message 'Paket {0} erfolgreich installiert.' -Arguments $utility + } + Catch { + Write-Log -Level 'ERROR' -Message 'Paket {0} konnte nicht installiert werden.' -Arguments $utility + Write-Log -Level 'ERROR' -Message '$_.Exception.Message' -Arguments $utility + Write-Host "Paket $utility konnte nicht installiert werden. " -ForegroundColor Red + } } else { - Write-Host "Programm $utility bereits installiert" + Write-Host "Programm $utility bereits installiert" -ForegroundColor Green + Write-Log -Level 'INFO' -Message 'Paket {0} erfolgreich installiert.' -Arguments $utility } } } '3' {