Modul: Intune A–Z Mastercourse | Stand: Oktober 2026
Software einzeln herunterladen, Installationsassistenten durchklicken und Updates manuell suchen? Das geht unter Windows deutlich effizienter. WinGet ist der Windows-Paketmanager von Microsoft und ermöglicht die Suche, Installation, Aktualisierung und Deinstallation von Anwendungen über die Kommandozeile. Für IT-Administratoren ist das besonders bei standardisierten Setups nützlich.
Was ist WinGet?
WinGet ist die Kommandozeilenschnittstelle des Windows Package Manager. Das Programm wird über den App Installer bereitgestellt und ist auf modernen Windows-10-/Windows-11-Geräten in der Regel vorhanden. Voraussetzung ist mindestens Windows 10 Version 1809 (Build 17763); die tatsächliche Verfügbarkeit hängt auch von der Bereitstellung und Registrierung des App Installers ab.
WinGet nutzt mehrere Paketquellen, insbesondere das Community-Repository winget und den Microsoft Store (msstore). Welche Quellen aktuell eingerichtet sind, zeigt:
winget --version
winget source list
Falls WinGet fehlt, prüfe zuerst den App Installer beziehungsweise die offizielle Microsoft-Dokumentation. Die erste Benutzeranmeldung kann für die Registrierung notwendig sein.
Die wichtigsten WinGet-Befehle
Software suchen und Details prüfen
winget search firefox
winget show --id Mozilla.Firefox --exact --source winget
Die Paket-ID ist für Skripte zuverlässiger als der Anzeigename. Vor einer produktiven Bereitstellung solltest du Quelle, Installer und Installationsverhalten prüfen.
Software installieren
winget install --id Mozilla.Firefox --exact --source winget
Für unterstützte unbeaufsichtigte Installationen:
winget install --id Mozilla.Firefox --exact --source winget --silent --accept-package-agreements --accept-source-agreements
Wichtig: --silent unterdrückt die unterstützten Dialoge des Installers, garantiert aber nicht, dass niemals Administratorrechte, ein Neustart oder weitere Maßnahmen nötig sind.
Software anzeigen, aktualisieren und entfernen
winget list
winget upgrade
winget upgrade --id Mozilla.Firefox --exact
winget uninstall --id Mozilla.Firefox --exact
winget list kann auch Programme erkennen, die nicht ursprünglich mit WinGet installiert wurden. Mit winget upgrade siehst du verfügbare Aktualisierungen. winget upgrade --all kann mehrere Apps aktualisieren, sollte aber auf verwalteten Geräten nicht ungeprüft ausgeführt werden: Versionsvorgaben, laufende Anwendungen und mögliche Neustarts müssen berücksichtigt werden.
Programmliste exportieren und importieren
winget export --output packages.json
winget import --import-file packages.json --accept-package-agreements --accept-source-agreements
Das JSON-Dokument hilft beim Neuaufsetzen von Geräten. Es ist jedoch kein vollständiges Backup: Nicht erkannte Anwendungen, Konfigurationen, Lizenzen und Benutzerdaten werden nicht automatisch gesichert. Verfügbarkeit und Paketversionen können sich ändern.
Praxisbeispiel: Standardsoftware installieren
Für einen interaktiven Windows-Arbeitsplatz lässt sich ein wiederholbares Setup erstellen:
winget install --id Microsoft.VisualStudioCode --exact --source winget --silent --accept-package-agreements --accept-source-agreements
winget install --id Google.Chrome --exact --source winget --silent --accept-package-agreements --accept-source-agreements
winget install --id 7zip.7zip --exact --source winget --silent --accept-package-agreements --accept-source-agreements
winget install --id Notepad++.Notepad++ --exact --source winget --silent --accept-package-agreements --accept-source-agreements
Die Befehle setzen voraus, dass WinGet im ausführenden Benutzerkontext verfügbar ist. Prüfe vor einer produktiven Nutzung, ob die betreffenden Pakete und Installationsoptionen weiterhin unterstützt werden.
WinGet und Microsoft Intune: Was funktioniert wirklich?
Hier ist eine wichtige Unterscheidung nötig: WinGet als CLI ist nicht dasselbe wie die integrierte Microsoft-Store-App-Bereitstellung in Intune. Für geeignete Store-Apps empfiehlt sich in Intune der Anwendungstyp Microsoft Store-App (neu). Für klassische Unternehmensanwendungen mit eigenen Anforderungen, Erkennungsregeln und Rückgabecodes ist häufig eine Win32-App die passendere Wahl.
Ein WinGet-Aufruf in einem Intune-PowerShell-Skript ist möglich, aber nicht automatisch im SYSTEM-Kontext zuverlässig. WinGet wird über den App Installer als paketierte Anwendung bereitgestellt. Benutzerregistrierung, ausführbarer Pfad, Paketquelle und Installationsumfang können im SYSTEM-Kontext Probleme bereiten. Ein Skript einfach als SYSTEM auszuführen ist daher keine allgemeingültige Lösung für unbeaufsichtigte Installationen.
Ein kontrolliertes PowerShell-Beispiel für den Benutzerkontext
Das folgende Beispiel setzt eine vorhandene WinGet-Installation und den passenden Benutzerkontext voraus. Es prüft die Verfügbarkeit und den Rückgabecode:
$winget = Get-Command winget.exe -ErrorAction SilentlyContinue
if (-not $winget) {
throw "WinGet ist in diesem Benutzerkontext nicht verfügbar."
}
$apps = @("Mozilla.Firefox", "7zip.7zip")
foreach ($app in $apps) {
Write-Host "Installiere $app"
& $winget.Source install --id $app --exact --source winget --silent --accept-package-agreements --accept-source-agreements
if ($LASTEXITCODE -ne 0) {
throw "Installation fehlgeschlagen: $app (Exitcode $LASTEXITCODE)"
}
}
Hinweis: Das ist ein Lern- und Administrationsbeispiel, kein universelles SYSTEM-Deployment-Skript. Für Intune müssen zusätzlich Ausführungskontext, Rechte, Installerverhalten, Erkennungsregeln, Rückgabecodes und Wiederholbarkeit getestet werden. Erfolgsmeldungen ohne funktionierende Erkennung reichen bei verwalteten Endgeräten nicht aus.
Automatische Updates: Nicht blind alles aktualisieren
Der Befehl winget upgrade --all --silent ist auf einem privaten Testgerät praktisch. Auf produktiven Firmenclients kann ein pauschaler geplanter Task jedoch Anwendungen während der Nutzung schließen, unerwünschte Versionssprünge verursachen oder an fehlenden Rechten scheitern. Nutze stattdessen einen definierten Update-Prozess mit Pilotgruppe, Protokollierung, Fehlerbehandlung und gegebenenfalls Freigabe.
Häufige Fehler und Lösungen
„winget“ wird nicht erkannt
Prüfe winget --version in einer regulären PowerShell-Sitzung und kontrolliere, ob der App Installer installiert und im jeweiligen Benutzerkontext registriert ist. Prüfe bei Intune-Skripten zunächst den tatsächlichen Ausführungskontext. Eine manuelle Änderung der PATH-Variable löst fehlende Paketregistrierung nicht.
Installation bleibt interaktiv oder fordert Administratorrechte
Nutze nach Möglichkeit einen Installer, der den Silent-Modus tatsächlich unterstützt. Prüfe das vom Paket verwendete Installationsprogramm und ob erhöhte Rechte benötigt werden. --accept-package-agreements und --accept-source-agreements akzeptieren entsprechende Vereinbarungen, heben aber keine UAC- oder Berechtigungsgrenzen auf.
Die Anwendung ist nicht auffindbar
winget source list
winget search --name firefox
winget show --id Mozilla.Firefox --exact --source winget
Nicht jede Anwendung ist in jeder Quelle vorhanden. Wenn ein Paket fehlt, prüfe die Herstellerinstallation oder für Unternehmensgeräte eine alternative Bereitstellung als Intune-Win32-App.
Fehler protokollieren
Starte bei Bedarf einen Befehl mit --verbose-logs und öffne die WinGet-Protokolle über winget --open-logs (abhängig von der eingesetzten Version). Erfasse in PowerShell zusätzlich Exitcodes und Kontextinformationen.
WinGet, Chocolatey und Ninite im Vergleich
| Werkzeug | Typischer Schwerpunkt | Wichtige Einschränkung |
|---|---|---|
| WinGet | Windows-Paketverwaltung per Microsoft-CLI, mit mehreren Quellen | Abhängig von Paketmanifest, Installer und Ausführungskontext |
| Chocolatey | Paketbasierte Automatisierung, auch im Unternehmensumfeld | Funktionsumfang und geschäftliche Nutzung hängen vom gewählten Angebot ab |
| Ninite | Einfache Installation und Aktualisierung eines kuratierten App-Katalogs | Begrenzte Auswahl gegenüber allgemeinen Paket-Repositories |
Der frühere Microsoft Store for Business ist seit dem 31. März 2023 eingestellt und darf nicht als aktuelle Unternehmens-Paketquelle empfohlen werden. Intune bietet stattdessen die neuere Microsoft-Store-App-Integration.
Best Practices für IT-Admins
- Für Automatisierung Paket-IDs und nach Möglichkeit eindeutige Quellen verwenden.
- Vor dem Rollout Installationskontext, Silent-Unterstützung und Rückgabecodes testen.
- Bei Intune zwischen Store-App (neu), Win32-App und eigenen Skripten unterscheiden.
- Für Unternehmensgeräte Erkennungsregeln, Versionskontrolle und Rollback-Strategie berücksichtigen.
- Updates zuerst in einer Pilotgruppe prüfen und Installation sowie Fehler protokollieren.
- Exportierte Paketlisten nicht mit einem vollständigen Backup verwechseln.
Fazit
WinGet vereinfacht die Softwareverwaltung auf Windows-Geräten erheblich. Für lokale Installationen, Inventarisierung und standardisierte Arbeitsplätze ist es ein starkes Werkzeug. Für Microsoft Intune ist aber ein sauberer Bereitstellungsprozess wichtiger als ein möglichst kurzes Skript. Je nach App sind Microsoft Store-App (neu) oder eine ordentlich paketierte Win32-App die robustere Lösung.
Weiterführende Microsoft-Dokumentation
Technische Ressourcen für die nächsten Schritte
In der Skriptbibliothek und im Blog findest du weitere Beispiele, Befehle und nachvollziehbare Guides zu Intune, PowerShell und Softwarebereitstellung.