Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell: Windows 10 Modern Apps an Startmenü anheften oder entfernen (Pin oder Unpin)

Tipp Microsoft Windows 10

Mitglied: colinardo

colinardo (Level 5) - Jetzt verbinden

03.11.2015, aktualisiert 17.02.2016, 13195 Aufrufe, 17 Kommentare, 10 Danke

Microsoft lässt leider eine Funktion vermissen die es einem als Admin ermöglicht einzelne Modern Apps per Skript an das Startmenü anzupinnen oder aus diesem zu entfernen ohne die App gleich deinstallieren zu müssen. Zwar gibt es die Möglichkeit ein vordefiniertes Layout an die User per GPO zu verteilen, doch manchmal ist das zu viel des Guten.

Aus diesem Grund habe ich eine Powershell-Funktion entwickelt die diesen Missstand behebt.

Powershell-Funktion Pin-App

01.
function Pin-App { 
02.
    param( 
03.
        [parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string[]]$appname, 
04.
        [switch]$unpin 
05.
06.
    $actionstring = @{$true='Von "Start" lösen|Unpin from Start';$false='An "Start" anheften|Pin to Start'}[$unpin.IsPresent] 
07.
    $action = @{$true='unpinned from';$false='pinned to'}[$unpin.IsPresent] 
08.
    $apps = (New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -in $appname} 
09.
     
10.
    if($apps){ 
11.
        $notfound = compare $appname $apps.Name -PassThru 
12.
        if ($notfound){write-error "These App(s) were not found: $($notfound -join ",")"} 
13.
 
14.
        foreach ($app in $apps){ 
15.
            $appaction = $app.Verbs() | ?{$_.Name.replace('&','') -match $actionstring} 
16.
            if ($appaction){ 
17.
                $appaction | %{$_.DoIt(); return "App '$($app.Name)' $action Start"} 
18.
            }else{ 
19.
                write-error "App '$($app.Name)' is already pinned to start or action not supported." 
20.
21.
22.
    }else{ 
23.
        write-error "App(s) not found: $($appname -join ",")" 
24.
25.
}

Die Funktion kennt zwei Parameter:
Pin-App [NAME DER APP(s) <string[]>] [-Unpin <switch>]
Im ersten wird der Name der App angegeben (es können auch mehrere Apps als String-Array übergeben werden). Der zweite dient dazu die App(s) aus dem Startmenü zu entfernen.
Anzugeben ist jeweils der lokalisierte Name der App wie er auch im Startmenü erscheint.

App an Startmenü anpinnen

Pin-App "Mail"

App aus Startmenü entfernen

Pin-App "Mail" -unpin

Mehrere Apps auf einmal anpinnen

Pin-App "Rechner","Kamera"
Das gleiche kann auch für das Entfernen mehrerer Apps mit dem Switch -unpin benutzt werden.

Hinweise
Die Funktion ist auf deutsche und englische Sprachversionen von Windows 10 angepasst. Soll diese für andere Sprachen erweitert werden sind die Strings in Zeile 6 zum anpinnen und "de"-pinnen mit einem Pipe-Symbol hinzuzufügen (Achtung: Hier gilt die Regular Expression-Syntax).

Die Apps die mit dieser Methode gepinnt werden können müssen zwingend in diesem System-Ordner gelistet sein:
shell:::{4234d49b-0245-4df3-b780-3893943456e1}
a1c3086a1d77932a2ed9f549ec294fc6 - Klicke auf das Bild, um es zu vergrößern

Viel Spaß damit
Grüße Uwe

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate

Updates
DatumÄnderung
17.02.2016Grundlegende Überarbeitung der Funktion und Unterstützung für mehrere Apps auf einmal
Mitglied: teslacoil
03.11.2015 um 21:02 Uhr
Die Idee ist gar nicht mal so schlecht ne
Bitte warten ..
Mitglied: DerWoWusste
17.11.2015, aktualisiert um 15:33 Uhr
Hallo Uwe!

Schöne Sache, sagte ich ja schon an anderer Stelle. Einen Haken sehe ich noch: Seit win10 threshold2 kommen neue Kacheln daher, die, sofern man keinen Internetzugang erlaubt, keine sinnvolle Beschriftung erhalten, sondern schlicht "Ausstehend", siehe Bild.
57f5977b4b5e3e53c4644997798a36a1 - Klicke auf das Bild, um es zu vergrößern also quasi Platzhalter für weiteren Krempel, den MS dort abladen möchte.
Ich würde gerne alles abpinnen und dann selektiv Dinge wieder anpinnen. Kann man alles abpinnen?
Oder kann man die "Ausstehend"-Items ebenso programmatisch entfernen?
Bitte warten ..
Mitglied: colinardo
17.11.2015, aktualisiert um 16:08 Uhr
Hallo DWW,
das sind so wie es aussieht nur Links in den MS Store, da werde ich mich mal wieder in die untiefen des Dateibaumes begeben müssen und diese "MS-Krankheiten" zu lokalisieren ...

See you soon with a working solution
Bitte warten ..
Mitglied: DerWoWusste
17.11.2015 um 16:10 Uhr
See you soon with a working solution
see you soon with another MS illness
Bitte warten ..
Mitglied: colinardo
17.11.2015, aktualisiert 18.11.2015
Also folgenden erfolgreichen Zwischenstand kann ich vermelden:

Ich konnte herausfinden das ein Registry-Eintrag für die zusätzlichen Links (welche übrigens die Spiele Candy-Crush/Minecraft, die Newsapp Flipboard etc. sind) im Startmenü verantwortlich sind.

Um zu erreichen das diese Links bei neuen Userprofilen nicht mehr im Startmenü auftauchen geht man folgendermaßen vor:
Man startet Regedit, markiert den Knoten HKEY_LOCAL_MACHINE, und lädt dann über Datei > Struktur laden das Default-Userprofil (C:\Users\Default\ntuser.dat) in einen Schlüssel den man z.B. temp_default_profile nennt, dort ändern man dann folgenden Key:
01.
Windows Registry Editor Version 5.00 
02.
 
03.
[HKEY_LOCAL_MACHINE\temp_default_profile\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager] 
04.
"PreInstalledAppsEnabled"=dword:00000000
Danach markiert man die importierte Struktur temp_default_profile und geht auf Datei > Struktur entfernen

Als Admin-Batch lässt sich das ganze Prozedere so abkürzen:
01.
@echo off 
02.
reg load "HKLM\temp_default_profile" "C:\Users\Default\ntuser.dat" 
03.
reg add "HKLM\temp_default_profile\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v PreinstalledAppsEnabled /d 0 /t "REG_DWORD" /f 
04.
reg unload "HKLM\temp_default_profile"
Man beachte: Der Key wirkt nur wenn das Profil neu erstellt wird, ein nachträgliches Ändern des Keys nachdem das Profil erstellt wurde ändert nichts an den Links !!

Grüße Uwe

p.s. In dem Key wo ich den Wert gefunden habe sind auch ein paar andere Interessante Werte (SystemPaneSuggestionsEnabled) mit denen sich vermutlich die Werbung im Startmenü abschalten lässt.
Bitte warten ..
Mitglied: DerWoWusste
18.11.2015 um 08:36 Uhr
Besten Dank, läuft! Regmounting kann man ja auch skripten, also ist es in jedem Fall ein Weg.
Bitte warten ..
Mitglied: JohnDorian
11.12.2015 um 09:30 Uhr
Gelobet seiest du colinardo!

Danke, das hilft mir ungemein!

Grüße, JD
Bitte warten ..
Mitglied: Highend01
03.02.2016 um 10:23 Uhr
Danke Uwe (das nächste Mal, wenn eine Zahlung auf meinem Paypal-Konto eingeht, leite ich eine Spende weiter...)!

Eine Möglichkeit, bereits existierende Verknüpfungen zu entfernen, die selber keine installierten Apps darstellen (Flipboard, Minecraft und ähnlicher Sch) konntest du (leider) nicht mehr finden? Also für einen bereits existierenden Benutzeraccount...

LG,
Highend
Bitte warten ..
Mitglied: colinardo
03.02.2016, aktualisiert um 15:20 Uhr
Zitat von Highend01:
Danke Uwe (das nächste Mal, wenn eine Zahlung auf meinem Paypal-Konto eingeht, leite ich eine Spende weiter...)!
Danke
Eine Möglichkeit, bereits existierende Verknüpfungen zu entfernen, die selber keine installierten Apps darstellen (Flipboard, Minecraft und ähnlicher Sch) konntest du (leider) nicht mehr finden? Also für einen bereits existierenden Benutzeraccount...
Leider nein, das Startmenü selber wird von MS in binären Files mit proprietärem dynamischen Inhalt verwaltet. Verteile dein Startmenü über eine XML damit kannst du das Startmenü auch noch nachträglich anpassen.

Grüße Uwe
Bitte warten ..
Mitglied: Bommi1961
16.02.2016 um 14:57 Uhr
Hallo Uwe, Dein Tool ist einfach klasse und hat mir sehr geholfen. Läuft auf Notebooks erstklassig. Aber auf Tablet z.B. Surface 3 oder 4, hier wird der Gleich Instal-Jjob genommen wie bei den NB's, löscht er nur die nicht gewünschten Kacheln, erstellt aber nicht die neuen. Wie gesagt bei NB's läuft es Fehler frei. Und es wird immer der gleich Job genommen. Hast Du eine Idee woran das liegen könnte?

VG Thilo
Bitte warten ..
Mitglied: colinardo
16.02.2016, aktualisiert um 16:19 Uhr
Zitat von Bommi1961:

Hallo Uwe, Dein Tool ist einfach klasse und hat mir sehr geholfen. Läuft auf Notebooks erstklassig. Aber auf Tablet z.B. Surface 3 oder 4, hier wird der Gleich Instal-Jjob genommen wie bei den NB's, löscht er nur die nicht gewünschten Kacheln, erstellt aber nicht die neuen. Wie gesagt bei NB's läuft es Fehler frei. Und es wird immer der gleich Job genommen. Hast Du eine Idee woran das liegen könnte?

Hallo Thilo,
von was für "Jobs" sprichst du ? Hellsehen kann ich leider noch nicht
Bau dir halt ein Logging ein oder poste mal "was" bei dir gepinnt wird.
Mangels Surface kann ich hier aber leider keine Tests anstellen. Hab hier nur ein altes first Gen. Surface was ich hier mal als Preis gewonnen habe.

Vielleicht lauten die Strings zum Pinnen der Apps auf dem Surface anderst. Kannst du ja mal nachsehen ob diese im Kontextmenü gleich lauten wie auf dem Desktop.

Grüße Uwe
Bitte warten ..
Mitglied: Bommi1961
17.02.2016 um 07:59 Uhr
Hallo Uwe,

leider bin ich totaler Anfänger was Powershell angeht. Wie kann ich denn ein Login bei Deinem Skrip einschalten?

Hab Dir Gestern eine Spende überwiesen.

VG Thilo
Bitte warten ..
Mitglied: colinardo
17.02.2016, aktualisiert um 13:56 Uhr
Zitat von Bommi1961:

leider bin ich totaler Anfänger was Powershell angeht. Wie kann ich denn ein Login bei Deinem Skrip einschalten?
Du könntest mal die Zeile 11 nur zum Debugging mal so abändern
01.
((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$_.Name -eq $appname}).Verbs()

Und dir dabei den Output in der Konsole ansehen, dort sollte ein Eintrag vorhanden sein der dem Text zum Pinnen einer App entspricht. Du kannst die Ausgabe auch gerne hier posten, dann kann ich sie dir bei Bedarf anpassen. Z.b. Wenn es sich um ein Tablet in einer anderen GUI-Sprache als Englisch oder Deutsch handelt.
Hab Dir Gestern eine Spende überwiesen.
TOP! Herzlichen Dank

Grüße Uwe
Bitte warten ..
Mitglied: Bommi1961
17.02.2016 um 10:17 Uhr
Wenn ich die Zeile einfüge kommt diese Meldung:
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
In C:\ProgrammDaten\WIN10AP\PIN-APP1.PS1:11 Zeichen:2

((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-02 ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidOperation: ( [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Wenn ich die Zeile nicht drin haben, läuft es ohne Fehler durch:
App 'Store' unpinned from Start
App 'Einstellungen' unpinned from Start
>>>>Die beiden Befehle werden gemacht!!

App 'PCInfo' pinned to Start
App 'IT-Shop' pinned to Start
App 'Internet Explorer' pinned to Start
App 'Word 2016' pinned to Start
App 'Excel 2016' pinned to Start
App 'OneNote 2016' pinned to Start
App 'Computer Sperren' pinned to Start
App 'Logoff' pinned to Start
App 'Computer Ausschalten' pinned to Start
>>>>>>Das alles wird ignoriert bei den Tablets

VG Thilo
Bitte warten ..
Mitglied: colinardo
17.02.2016, aktualisiert um 10:23 Uhr
Sorry Typo....bin am Tablet, ist korrigiert.

Ich hatte gemeint das du das mal manuell für eine einzelne App machst die du pinnen willst. Damit werden dann die möglichen Aktionen gelistet die mit dieser App möglich sind, wenn in diesen Aktionen der String zum Pinnen nicht enthalten ist, kann das Skript die App auch nicht anpinnen.

Ansonsten bitte weitere Kommentare via PM. Danke!
Bitte warten ..
Mitglied: Bommi1961
17.02.2016 um 11:19 Uhr
muss wieder fragen...
was hast Du geändert und wo?
und was meinst Du mit PM?
Bitte warten ..
Mitglied: colinardo
17.02.2016 um 11:40 Uhr
Zitat von Bommi1961:

muss wieder fragen...
was hast Du geändert und wo?
Den Code im letzten Post.
und was meinst Du mit PM?
PM
Damit der Thread hier nicht unnötig voll läuft und die anderen nicht "gestört" werden.
Bitte warten ..
Ähnliche Inhalte
Windows 10
Windows 10 Apps per Powershell Skript über GPO löschen (4)

Frage von BSeidemann zum Thema Windows 10 ...

Windows 10
Windows 10 S: Nur Apps aber kein Linux (3)

Link von BassFishFox zum Thema Windows 10 ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Humor (lol)
Aktuell keine IT Probleme (20)

Frage von lordofremixes zum Thema Humor (lol) ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...