Windows 7: Warum Verknüpfungen vom Desktop verschwinden (und was man dagegen tun kann)

Windows 7Es häufen sich Beschwerden, dass bei Windows 7 Verknüpfungen plötzlich vom Desktop verschwunden sind. Dabei handelt es sich nicht um einen Bug, sondern um ein Feature. Microsoft hat die Desktopbereinigung so sehr „optimiert“, dass sie schonmal Amok laufen kann. Aber Abhilfe ist möglich.


Von früheren Windows-Versionen kennt man den freundlichen Desktopbereinigungsassistenten, der sich alle paar Wochen meldet, auf nicht benutzte Objekte auf dem Desktop hinweist und anbietet, diese zu entfernen. Ein kurzes „Nein“ bringt ihn zuverlässig zum schweigen. Bei Windows 7 hat Microsoft das Verfahren mithilfe von Powershell-Skripten weiter entwickelt, die voll automatisch ablaufen. Was wie ein willkürliches Verschwinden von Desktop-Elementen aussieht, folgt tatsächlich einem klaren Plan. Einmal pro Woche überprüft ein Skript die Objekte auf dem Desktop und ergreift ggf. Maßnahmen:

  • Wenn ein Objekt auf dem Desktop mehr als drei Monate nicht mehr benutzt wurde, wird es gelöscht.
  • Wenn sich auf dem Desktop mehr als vier Verknüpfungen befinden, deren Ziel nicht mehr vorhanden ist, werden alle diese defekten Verknüpfungen gelöscht.
  • Im Gegensatz zu früheren Windows-Versionen werden die Elemente nicht in einen speziellen Ordner verschoben, sondern tatsächlich sofort gelöscht.

Auf dem Papier hört sich der Plan gut an, denn was spricht schon dagegen, nutzlos gewordene Verknüpfungen automatisch zu entfernen? Das Problem liegt dabei in der Definition von „defekt“. Leider erkennt die Überprüfung auch Verknüpfungen als defekt, die es eigentlich nicht sind. Beispiele:

  • Verknüpfungen ins Netzwerk
    Wenn zum Zeitpunkt der Überprüfung die entsprechende Netzwerkverbindung nicht besteht, wird die Verknüpfung als „defekt“ erkennt.
  • Verknüpfungen auf Wechseldatenträger
    Ist z. B. eine USB-Wechselplatte gerade nicht angeschlossen, werden Verknüpfungen darauf als „defekt“ erkannt.
  • Verknüpfungen ins Internet
    Ist die Internetverbindung oder der entsprechende Server gerade nicht erreichbar, werden solche Verknüpfungen als „defekt“ erkannt.
  • Verknüpfungen mit speziellen Protokollen
    Verwendet eine Verknüpfung ein spezielles Protokoll, dass von der Überprüfung nicht berücksichtigt wird, wird sie ebenfalls als „defekt“ erkannt, obwohl sie funktioniert.
  • Verknüpfungen zum Windows7-Spiele-Ordner
    Falls Sie die Idee hatten eine Verknüpfung zu einem der Spiele aus dem Spiele-Ordner auf den Desktop zu ziehen, funktioniert dies zwar, wird aber bei der Überprüfung als „defekt“ erkannt.

Wenn Sie mehr als vier solcher Verknüpfungen auf dem Desktop haben, macht Ihnen Windows 7 also regelmäßig einen Strich durch die Rechnung. Was kann man dagegen tun? Nun, Microsofts offizielle Empfehlung zur Vermeidung dieses Verhaltens lautet: Verwenden Sie niemals mehr als vier solche Verknüpfungen auf Ihrem Desktop. Da ich gerne etwas hilfreichere Empfehlungen gebe, möchte ich hier alternative Möglichkeiten vorstellen, das Problem zu vermeiden.

Abhilfe 1: Computerwartung deaktivieren

Die einfachste Variante, die aber eventuell das Kind mit dem Bade ausschüttet: Deaktivieren Sie die Computerwartung, die allerdings noch einige weitere Funktionen steuert, die dann ebenfalls nicht mehr funktioniert:

  1. desktoplinks01Öffnen Sie in der Systemsteuerung System und Sicherheit, klicken Sie dort auf Problembehandlung für allgemeine Computerprobleme und dann links auf Einstellungen ändern.
  2. Wählen Sie dann unter Computerwartung die Option Aus.

Nun wird das Skript zur Desktopbereinigung nicht mehr ausgeführt und Ihre Verknüpfungen sind sicher.

Abhilfe 2: Die Anzahl der zulässigen „defekten“ Verknüpfungen erhöhen

Wenn es primär um das Problem geht, dass intakte Verbindungen irrtümlich als „defekt“ erkannt und deshalb entfernt werden, gibt es eine flexiblere Möglichkeit. Da die Desktopbereinigung durch ein Powershell-Skript C:\Windows\Diagnostics\Scheduled\Maintenance\TS_BrokenShortcuts.ps1 durchgeführt wird, lässt sich das Verhalten relativ einfach „umprogrammieren“. Allerdings muss man sich zunächst die notwendigen Rechte beschaffen:

  • Bei der fraglichen Datei handelt es sich um eine Systemdatei, an der Sie standardmäßig nichts verändern können. Um die Schreibrechte zu erlangen, müssen Sie zunächst „Besitzer“ dieser Datei werden. Das geht in den Eigenschaften der Datei in der Rubrik Sicherheit. Klicken Sie hier auf Erweitert, dann Besitzer. Klicken Sie dort auf Bearbeiten und wählen Sie dann Ihren Benutzernamen aus und klicken Sie OK. Dann solange OK, bis alle Dialoge geschlossen sind.
  • Nun sind Sie zwar Besitzer der Datei, habe aber noch immer nicht alle Zugriffsrechte. Das erledigen Sie am besten mit einer Eingabeaufforderung mit Administratorrechten. Geben Sie dort den Befehl icacls c:\windows\diagnostics\scheduled\maintenance\TS_BrokenShortcuts.ps1 /grant <Ihr Benutzername>:F ein.

Nun können Sie die Datei bearbeiten und die fragliche Funktion zum Löschen „defekter“ Verknüpfungen in Ihrem Sinne manipulieren:

  1. desktoplinks02Öffnen Sie im Windows Explorer den Ordner C:\Windows\Diagnostics\Scheduled\ Maintenance.
  2. Klicken Sie hier mit der rechten Maustaste auf die Datei TS_BrokenShortcuts.ps1 und wählen Sie im Kontextmenü den Befehl Bearbeiten.
  3. Damit öffnen Sie das Skript im Powershell-Editor. Scrollen Sie hier nach unten, bis Zeile 44 angezeigt wird (die Zeilen sind links durchnummeriert). Springen Sie in dieser Zeile ganz ans Ende.
  4. desktoplinks03Alternativ verwenden Sie Bearbeiten/Im Skript suchen und geben als Suchbegriff „-gt 4″ ein. Das bringt Sie an dieselbe Stelle im Skript.
  5. Die hier stehende Zahl 4 gibt die Schwelle vor, ab der „defekte“ Verknüpfungen entfernt werden. Setzen Sie den Wert hoch, etwa auf 10, wird das Skript erst aktiv, wenn es mehr als 10 „defekte“ Verknüpfungen erkennt.
  6. Speichern Sie das Skript mit dem neuen Wert mit Datei/Speichern und schließen Sie den Editor.

Nun zeigt sich die Desktopbereinigung abhängig von der gewählten Zahl wesentlich toleranter. Einzige Nebenwirkung: Auch wirklich defekte Verknüpfungen werden so nicht mehr automatisch entfernt. Dafür funktionieren aber alle anderen Funktionen der Computerwartung uneingeschränkt weiter.


Das könnte Sie auch interessieren:



30 Antworten zu “Windows 7: Warum Verknüpfungen vom Desktop verschwinden (und was man dagegen tun kann)”

  1. TychoBarfy sagt:

    Danke, sehr nützliche Info.

    Zwei kleine Anmerkung:
    1. Als Besitzer sollte \Administrator ausgewählt werden und dessen Rechte sollten auf Vollzugriff gesetzt werden (sonst kann man die Änderungen in der Datei nicht speichern).
    2. Nach der Änderung und dem Speichern der Datei deren Rechte wieder auf den ursprünglichen Zustand zurücksetzen (Lesen/Ausführen). Sonst gibts ne Sicherheitslücke.

    Gruß TB

  2. Wolfram Gieseke sagt:

    @TychoBarfy:
    Danke für den Beitrag.
    zu 1.)
    Mit dem oben beschriebenen icacls-Kommando erhält man eben diesen Vollzugriff.
    zu 2.)
    Stimmt, das kann sicher nicht schaden. In der Praxis ist diese Sicherheitslücke meiner Meinung nach aber eher akademischer Natur.

  3. pg2222 sagt:

    Danke für den Beitrag.
    allerdings habe ich nicht den Eindruck, dass das Löschen den beschriebenen Regeln folgt: Weder waren meine Verknüpfungen defekt, noch hatten sie die Zahl 4 überschritten.
    Dieses automatische Löschen als Feature zu bezeichnen halte ich für völlig verfehlt. Einen solchen Bruch mit User-Gewohnheiten und allen folgenden Konsequenzen, Zeitverlust, Produktivitätsverlust, kann ich nur als Idiotie bezeichnen. Leider bekommt Microsoft das alles nicht mit, denn die vielen Foren in denen das diskutiert wird, beschäftigen sich hilflos mit sich selber.
    An Microsoft kommt man nicht ran. Die Ohnmacht der User gegen die Tyrannei von Microsoft wird an diesem Beispiel wieder einmal sichtbar.

  4. Ingrid sagt:

    Vielen Dank und Chapeau!

    Ohne den Hinweis, dass Netzwerk-Verknüpfungen als defekt erkannt werden, hätte ich wohl Virenscanner, Grafikkarte oder anderes verdächtigt.

  5. Thomas sagt:

    Gibt es eine GPO.
    Für eine Domäne wäre das einfacher.

  6. Lars sagt:

    Vielen Dank! Sehr hilfreiche, leicht nachvollziehbare und gut geschriebene Anleitung.

  7. Curtis sagt:

    Vielen Dank. Sehr gut nachvollziehbare Anleitung. – Ist wieder typisch Microsoft: Alles wird auf dem Rücken der User „vergutschlechtert” ohne an die Konsequenzen zu denken.

  8. Martin sagt:

    Danke für die Tipps. Haben mir sehr geholfen!

  9. Falko sagt:

    Juhuu, der Samba-Server ist nicht kaputt ;o)

    Danke für die Anleitung!

  10. Astrid sagt:

    hab das Problem mittlerweile auf 3 Laptops und hab versucht, das anhand des Hochsetzens der zulässigen „Defekt“-Anzahl zu umgehen. Allerdings scheitere ich immer an der Eingabeaufforderung. Ich geb den Befehl ein und es kommt immer die Meldung „Das System kann die angegebene Datei nicht finden.“ Also: keine Schreibberechtigung und ich kann die Änderung an der Datei nicht speichern. Habs auch schon mit dem Administrator als Besitzer versucht. Geht auch nicht. Kann mir jemand helfen? Es sind drei Firmenlaptops und meine Kollegen sind reichlich genervt, das andauernd die Symbole vom Desktop weg sind…

    Über eine Antwort würde ich mich sehr freuen!

  11. Wolfram Gieseke sagt:

    @Astrid:
    Bei welchem Befehl genau kommt die Fehlermeldung? Wird die Datei C:\ Windows\ Diagnostics\ Scheduled\ Maintenance\ TS_BrokenShortcuts.ps1 denn angezeigt, wenn Sie als Administrator angemeldet sind?
    Eventuell ist das Windows in einem Firmenumfeld etwas restriktiver konfiguriert worden, dann würde ich mich diesbezüglich mal an den zuständigen Admin wenden.

  12. Ulf sagt:

    Hallo Wolfram,

    vielen Dank für diese detaillierte Anleitung.
    Alle anderen Fundstellen beschreiben ja nur das in meinen Augen ebenfalls nicht hinnehmbare deaktivieren der Computerwartung.
    Schön, dass es immer noch Leute gibt, die nicht nur mit dem Vorschlaghammer arbeiten.

    Viele Grüße
    Ulf

  13. Steffen sagt:

    Habe das gleiche Problem wie Astrid auf meinem Home PC…
    Bei Eingabe der Zeile „TS_BrokenShortcuts.ps1 /grant :F“ kommt die Meldung „Das System kann die angegebene Datei nicht finden“, wenn ich allerdings nur den Dateinamen eingebe, öffnet sich problemlos eben diese „unauffindbare“ Datei im Editor… :(

  14. Butch sagt:

    Hallo Wolfram,
    danke für deinen Artikel. Genau das Richtige!

    Bezugnehmend auf die Frage von Thomas vom 11. Oktober 2010 nach einer GPO hier ein kleiner Tipp: Die angepasste Datei „TS_BrokenShortcuts.ps1″ kann via Gruppenrichtlinie verteilt werden.

    Dies geschieht in einer Richtlinie über \Computerkonfiguration \Einstellungen \Windows-Einstellungen \Dateien.

    Als „Quelldatei“ zeigt man per UNC auf ein zentrales Verteilverzeichnis auf einem Server, wo man die editierte Datei vorher hinkopiert hat (Bsp.: \\server\freigabe\TS_BrokenShortcuts.ps1).
    Als Zieldatei wird natürlich der Originalpfad verwendet (C:\Windows\diagnostics\scheduled\Maintenance\TS_BrokenShortcuts.ps1)
    Als „Aktion“ habe ich „Ersetzen“ gewählt, alles andere defaultmäßig belassen.

    Gruß
    Butch

  15. Alexander Gehrer sagt:

    Vielen Dank,
    funktioniert super. Dieses Feature ist aber schon sehr nah an einem Bug! Ich hab die Schuld lange am Fileserver gesucht.

  16. Dustin sagt:

    super ! geil! besten! danach habe ich lange gesucht.

  17. Checker sagt:

    Für alle bei denen ständig „datei nicht gefunden“ kommt oder „0 Datein erfolgreich“ wie bei mir, versucht folgendes:

    1. takeown /f C:\Windows\diagnostics\scheduled\Maintenance\TS_BrokenShortcuts.ps1

    2. icacls C:\Windows\diagnostics\scheduled\Maintenance\TS_BrokenShortcuts.ps1 /grant USERNAME:F

    dann funktioniert es!

  18. Krabat sagt:

    Danke für deine Tipps, hat nicht nur geholfen sondern auch gleich bewiesen, das da bei Microsoft Leute am entwickeln sind wo schon das Hirnwasser flockt.

  19. Ferric sagt:

    Ich habe eine englische Webseite gefunden, wo das Problem sehr ausführlich angegangen wird: http://www.verboon.info/index.php/2010/11/control-windows-7-scheduled-maintenance-behavior-through-group-policy/
    Dort wird vom Verändern der Powershell-Scripte abgeraten und es kommt eine andere Lösung zu tragen, die hier gut funktioniert.

  20. Wolfram Gieseke sagt:

    @Ferric: Danke für den Hinweis. Allerdings verwendet diese Variante Gruppenrichtlinien und bei den Home-Editionen von Windows 7 gibt es keinen Gruppenrichtlinien-Editor. Deshalb lässt sich diese Lösung dort nicht einsetzen. Für höhere Editionen ist es aber sicher eine Alternative.

  21. […] zu suchen. Um diese, von Microsoft optimierte Desktopbereinigung zu verbessern, findet sich bei Wolfram Gieseke eine ausgezeichnete Anleitung. Hier wird auch beschrieben, wie man das zuständige Powershell Skript […]

  22. Crashguard303 sagt:

    Richtig, wie schon Checker sagte, der Befehl:

    icacls c:\ windows\ diagnostics\ scheduled\ maintenance\ TS_BrokenShortcuts.ps1 /grant :F

    muss so geschrieben werden:

    icacls c:\windows\diagnostics\scheduled\maintenance\TS_BrokenShortcuts.ps1 /grant :F

    Der Pfad ohne Leerzeilen, (und hinter dem Namen bei :F auch keine) sonst klappt es nicht. Und (wie bereits im Text gechrieben) CMD.EXE als Admin ausführen.

  23. Wolfram Gieseke sagt:

    @Crashguard303:
    Danke für die Klarstellung. Ich habe es im Artikel auch mal optimiert. Die Leerzeichen waren nur drin, damit es einen besseren Umbruch gibt. Ich hatte nicht daran gedacht, dass manche das direkt rauskopieren und dann vielleicht nicht darauf achten, die Leerzeichen zu entfernen.

  24. markus sagt:

    LÖSUNG Für alle die die Meldung „Das System kann die angegebene Datei nicht finden.“ bekommen (war auch bei mir der fall) :

    Ich habe einfach im Menü der Datei „TS_BrokenShortcuts.ps1″meinem Benutzer Vollzugriff gegeben (Warnungen ingnorieren).

    Dann lässt sich das geänderte script auch speichern.

    Nachher die ursprünglichen Berechtigungen wieder hergestellt.

  25. Rainer sagt:

    Moin,
    Windows löscht ja nur Verknüpfungen, die nicht existieren! Ich habe mir einfach einen Ordner mit den Netzwerkverknüpfungen angelegt und dann auf den Desktop nur die Verknüpfungen zu den Verknüpfungen im Ordner. Für Windows sind die Verknüpfungsziele somit permanent vorhanden und er löscht sie nicht. Hab das jetzt ein paar Wochen getestet und funktioniert einwandfrei.
    LG Rainer

  26. Tom B. sagt:

    Ich habe da mal eine Frage: Manchmal muss ich Verknüpfungen bearbeiten, da bei einem User das Programm xyz von einem Laufwerk zum anderen verschoben wurde. Leider kann ich bei Windows 7 keine Verknüpfungen bearbeiten, wo das ziel nicht stimmt. Lässt sich das abschalten?

  27. Mike U. sagt:

    „Deaktivieren Sie die Computerwartung, die allerdings noch einige weitere Funktionen steuert, die dann ebenfalls nicht mehr funktioniert“

    Mich hätte an dieser Stelle mal interessiert, welche weiteren Funktionen dadurch noch still gelegt werden und welche u.U. negativen Folgen das haben kann.
    Unser Admin hat sich leider nicht die Mühe gemacht und die Skripte angepasst. Statt dessen wählte er den einfachen schnellen Weg. :-(

  28. Wolfram Gieseke sagt:

    @Mike U.:
    Ich darf mal Microsoft zitieren:

    Allgemeine Systemwartung unter Windows
    Automatisches Erkennen und Korrigieren gängiger Wartungsprobleme wie fehlerhafte Desktopverknüpfungen, nicht verwendete Symbole, Datenträgervolumefehler und falsche Anzeige der Systemzeit

    Was behoben wird…

    Probleme mit Desktopverknüpfungen und -symbolen
    Verknüpfungen auf dem Desktop funktionieren nicht oder sind fehlerhaft.
    Desktopsymbole sind fehlerhaft oder wurden seit 3 Monaten nicht mehr verwendet.
    Systemstartelemente funktionieren nicht oder sind fehlerhaft.
    Systemwartungsaufgaben
    Freigeben von Datenträgerspeicher durch Reparieren von Datenträgervolumefehlern, wie z. B. fehlerhafte Sektoren, verlorene Cluster, querverknüpfte Dateien und Verzeichnisfehler
    Freigeben von Speicherplatz durch Entfernen von Fehlerberichten und Problembehandlungsverläufen, die älter als 1 Monat sind
    Festlegen der ordnungsgemäßen Systemzeit und Synchronisieren der Systemuhr mit dem Zeitserver
    Es werden die folgende Fehlermeldungen angezeigt:
    Windows Update-Fehler 0×80072F8F
    Das Element, auf das diese Verknüpfung verweist, wurde gelöscht.

  29. Vanessa sagt:

    Vielen vielen Dank für die tolle, präzise Anleitung, die super funktioniert hat!

Hinterlasse eine Antwort