Anzeige
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Systemprogramme Winget-Tool für Update
- Ersteller PeteM92
- Erstellt am
Anzeige
Hellriegel
Herzlich willkommen
Ausnahmen bei winget erstellen
Ich pflege meine installierten Programme - wie viele andere auch - mit winget.
Leider gibt es keine Möglichkeit, beim Upgrade Programme auszuschliessen.
Dafür habe ich dieses Powershell-Skript geschrieben. Falls es einer braucht, ...
Installation:
1. Kopiere den Code in eine .txt-Datei mit beliebigem Namen, aber ersetze .txt durch .ps1 .
2. Im Kontextmenü "mit Powershell ausführen".
3. Sind bei Dir Powershell-Skripte gesperrt, beachte den Kommentar im Skript.
Ich pflege meine installierten Programme - wie viele andere auch - mit winget.
Leider gibt es keine Möglichkeit, beim Upgrade Programme auszuschliessen.
Dafür habe ich dieses Powershell-Skript geschrieben. Falls es einer braucht, ...
Installation:
1. Kopiere den Code in eine .txt-Datei mit beliebigem Namen, aber ersetze .txt durch .ps1 .
2. Im Kontextmenü "mit Powershell ausführen".
3. Sind bei Dir Powershell-Skripte gesperrt, beachte den Kommentar im Skript.
Code:
<#
09.10.22
Upgrade.ps1
Wenn bei Dir die Powershell-Skriptausführung gesperrt ist,
musst Du in der Powershell-Konsole (Windows-Terminal; Zeilenbeginn PS) den Befehl
set-executionpolicy -scope currentuser -executionpolicy unrestricted -force
eingeben. Damit sind dann Skripte nach Sicherheitsabfrage zugelassen.
Unten kannst Du die Liste $ausgeschlosseneIDs ändern.
Bevor die Upgrades ausgeführt werden, wirst Du gefragt.
#>
#Liste der ausgeschlossenen IDs in beliebiger Reihenfolge:
$ausgeschlosseneIDs = @(
"Amazon.Kindle"
"Microsoft.Edge"
"Microsoft.VCRedist.2015+.x64"
"Microsoft.VCRedist.2015+.x86"
"Microsoft.VC++2015-2022Redist-x64"
"Microsoft.VC++2015-2022Redist-x86"
)
# (in der ISE das Skript 2-mal aufrufen)
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$wingetAusgabe = winget upgrade | Out-String
$zeilen = $wingetAusgabe.Split([Environment]::NewLine)
$upgrades = @()
For ($i = 0; $i -lt $zeilen.Length; $i++)
{
$zeile = $zeilen[$i]
$farbe = $false
if ($zeile.length -eq 0 -or $zeile.StartsWith(" ")) { continue }
if ($zeile.StartsWith("Name"))
{
$startID = $zeile.IndexOf("ID")
$startVersion = $zeile.IndexOf("Version")
$laengeID = $startVersion - $startID - 1
}
if ($zeile.EndsWith("winget"))
{
$zeileID = $zeile.Substring($startID, $laengeID).Trim()
if ($zeileID -in $ausgeschlosseneIDs) { $farbe = $true }
else { $upgrades += $zeileID }
}
if ($farbe) { Write-Host -ForegroundColor Red $zeile }
else { Write-Host $zeile }
}
$anzahlUpgrades = $upgrades.Count
"$anzahlUpgrades werden aktualisiert."
if ($anzahlUpgrades -gt 0) {read-host "`n$anzahlUpgrades Upgrades starten: ↩"}
foreach ($id in $upgrades) { winget upgrade $id }
read-host "`nFertig! ↩"
Anzeige