Get-StartApps: Apps von der Startseite auslesen und starten mit PowerShell

    Welche Gefahren drohen durch unerkannte Schwachstellen und wie kann man sich schützen? Kostenloses Whitepaper von baramundi herunterladen » (Anzeige)

    Ansicht nach Name auf der Startseite von Windows 8.1Der mit Windows 8 eingeführte Startbildschirm brachte zumindest in puncto Übersichtlichkeit keine erkennbaren Fortschritte gegenüber dem alten Startmenü. PowerShell kann aber die dort vertretenen Anwendungen auflisten und filtern. Bei Bedarf lassen sich Programme anhand der angezeigten AppID auch direkt starten.

    Während die explizit an die Startseite angehefteten Programme durch Kacheln prominent vertreten sind, findet sich die Masse der Anwendungen nach ihrer Installation in der Ansicht Apps nach Name. Nach einer gewissen Zeit versammeln sich dort so viele Icons, dass man auf den ersten Blick kaum noch etwas finden kann.

    Alle Apps anzeigen mit Get-StartApps

    Wer sich nicht auf die zweifelhaften Ergebnisse der Windows-Suche verlassen möchte, kann den Inhalt der Startseite mit PowerShell untersuchen. Zuständig ist dafür das Cmdlet Get-StartApps. Ruft man es ohne Argumente auf, dann spuckt es eine Liste mit allen Anwendungen aus, die auf der Startseite vertreten sind. Dies betrifft nicht nur die neuen Store Apps, sondern auch die herkömmlichen Windows-Programme, die dort durch Icons repräsentiert sind.

    In den meisten Fällen wird man nicht die komplette Aufstellung ansehen wollen, sondern bestimmte Applikationen suchen oder diese nach bestimmten Kriterien filtern. Leider sind nur zwei Eigenschaften der zurückgegebenen Objekte verfügbar (Name und AppID), so dass sich alle Operationen mit diesen mageren Daten begnügen müssen.

    Möchte man etwa herausfinden, welche OneDrive-Apps mit einer Kachel vertreten sind, dann könnte man das mit diesem Befehl herausfinden:

    Get-StartApps | where name -like "*OneDrive*"

    AppID auswerten

    Die umfangreiche AppID ist insgesamt aussagekräftiger als der Name einer Anwendung, weil man aus ihr einige Informationen entnehmen kann. So könnte man etwa die Liste nach Dateiendungen filtern, um beispielsweise nur die Namen herkömmlicher .exe-Programmdateien anzuzeigen:

    Get-StartApps | where AppID -like "*.exe" | select Name

    Das Cmdlet ist darüber hinaus von Nutzen, wenn man eine der neuen Einstellungen in den Gruppenrichtlinien verwenden möchte, um die Startseite zu konfigurieren. So benötigt man etwa die AppID, um Anwendungen automatisch an den Startbildschirm anzupinnen. Mit Get-StartApps kann man diese Eigenschaft sehr einfach ermitteln.

    Programme starten

    Die AppID kann man auch nutzen, um ein Programm direkt aus PowerShell zu starten. Zu diesem Zweck speichert man diese Eigenschaft in einer Variablen und verwendet sie anschließend in einem Aufruf von Start-Process:

    $AppID = Get-StartApps | where AppID -like "*msinfo*"
    Start-Process "explorer.exe" -ArgumentList ("shell:AppsFolder\" + $AppID.AppID)

    In diesem Beispiel würde man die AppID von msinfo32 ermitteln und das Programm danach ausführen. Dieses Verfahren funktioniert gleichermaßen für Store Apps und herkömmliche Desktop-Anwendungen. Möchte man sie öfter auf diese Weise ausführen, dann empfiehlt es sich, die beiden Befehle in eine function zu packen, so dass man ihr nur mehr den Filterausdruck für die where-Anweisung übergeben muss.

    Keine Kommentare