Fix Windows 7 Desktop Shortcuts verdwijnen

Als u Windows 7 gebruikt, is het u misschien opgevallen dat snelkoppelingen op het bureaublad verdwijnen zonder duidelijke reden. Blijkt dat daar systeemonderhoud voor verantwoordelijk is. Het wordt uitgevoerd als wekelijkse onderhoudsservice die op twee manieren invloed heeft op snelkoppelingen op het bureaublad.

Eerst worden bureaubladsnelkoppelingen verwijderd die minstens drie maanden niet zijn gebruikt. Systeemonderhoud verwijdert ook kapotte snelkoppelingen op het bureaublad als er meer dan vier zijn. Het probleem met dit laatste is dat Windows 7 snelkoppelingen naar verbroken netwerklocaties als kapot zal herkennen en ook snelkoppelingen die naar shell-mappen verwijzen.

Microsoft biedt twee oplossingen voor het probleem. Het eerste advies is om het aantal gebroken snelkoppelingen onder de vier te houden. Dit is niet altijd mogelijk vanwege de hierboven genoemde problemen met kapotte snelkoppelingen.

De tweede suggestie van Microsoft is om computeronderhoud uit te schakelen:

  • Klik op Start en vervolgens op Configuratiescherm.
  • Klik onder Systeem en beveiliging op Problemen zoeken en oplossen.
  • Klik in het linkernavigatievenster op Instellingen wijzigen.
  • Zet Computeronderhoud op Uit.

Dit schakelt echter alle andere taken in verband met computeronderhoud uit, zoals het controleren van de systeemtijd, schijfvolumefouten of de schijfruimtefoutrapporten.

Alle onderhoudstaken worden mogelijk gemaakt door scripts die zich bevinden in c: \ windows \ Diagnostics \ Scheduled \ Maintenance \. Opties zijn om de scripts rechtstreeks in die map te bewerken. De machtigingen verbieden dat de bestanden door de huidige gebruiker worden bewerkt.

Fixing Windows 7 Desktop Shortcuts verdwijnen

Let op: dit is een hack die gevolgen kan hebben voor andere delen van het besturingssysteem. Alles werkte achteraf prima op een testsysteem, maar zorg ervoor dat u een back-up van de bestanden maakt voordat u ze bewerkt

Eerst moeten we de controle over de bestanden nemen, zodat we ze kunnen bewerken. Daarvoor moet u eerst eigenaar worden en vervolgens de toegangsrechten van de huidige gebruiker wijzigen zodat de bestanden kunnen worden gewijzigd.

Het eerste deel kan worden geautomatiseerd. Download het script op dit forum en voer het uit. Dit moet een Take Ownership-item toevoegen aan het rechtsklikmenu in Windows Explorer.

Ga naar C: \ Windows \ diagnostiek \ gepland \ Onderhoud in Windows Explorer na installatie van het script en klik met de rechtermuisknop op het bestand TS_BrokenShortcuts.ps1 . Selecteer de optie Eigenaar worden die eigendom moet overdragen aan de aangemelde gebruiker.

De gebruiker heeft nog steeds geen rechten om het bestand op te slaan, wat betekent dat we ook de volgende stap moeten voltooien voordat we het kapotte snelkoppelingen Powerscript-bestand kunnen bewerken, zodat het niet automatisch kapotte snelkoppelingen verwijdert.

Open een verhoogde opdrachtregelprompt. U doet dat door te klikken op Start orb, Alle programma's en vervolgens op Accessoires. Klik met de rechtermuisknop op de koppeling Opdrachtprompt en selecteer Uitvoeren als beheerder.

Geef nu de volgende opdracht om de actieve gebruiker volledige rechten voor het bestand te verlenen. Zorg ervoor dat u USERNAME vervangt door de naam van de actieve gebruiker.

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

Nu kunt u het bestand normaal bewerken in een teksteditor zoals Kladblok. Open het en zoek de regel (regel 11)

[string]$list = ""

Verwijder alles onder die regel tot (regel 22)

return $list

De regels die worden verwijderd zijn:

Get-ChildItem -Path $path -filter *.lnk | Foreach-Object {

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELECTEER Naam, Doel, AccessMask VANAF Win32_ShortcutFile WHERE Name = '$ fullPath'"

if (-not (Test-ValidLink $ wmiLinkFile) -and (Test-Delete $ wmiLinkFile))

{

$ list = AttachTo-List $ list $ wmiLinkFile.Name

}

}

Dit retourneert in principe een lege lijst naar het script, zodat er geen snelkoppelingen worden verwijderd. Ik heb het getest met vijf kapotte snelkoppelingen en deze zijn niet verwijderd na het uitvoeren van systeemonderhoud.

Dat lost de verbroken snelkoppelingen op, maar we hebben nog steeds het probleem dat snelkoppelingen die al een tijd niet zijn gebruikt, ook door Windows 7 worden verwijderd.

We moeten hier (bijna) dezelfde operatie uitvoeren. Zoek het bestand TS_UnusedDesktopIcons.ps1 in dezelfde map. Neem het eigendom en verleen de actieve gebruiker toegangsrechten.

Bewerk het bestand achteraf en zoek de regel (24)

[string]$list = ""

Verwijder alles tot regel (35)

return $list

zodat de volgende regels worden verwijderd

Get-ChildItem -Path $path -filter *.lnk | Foreach-Object {

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELECTEER Naam, Doel, AccessMask VANAF Win32_ShortcutFile WHERE Name = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. Volledige naam

if ((Test-ValidLink $ wmiLinkFile) -and (Test-Delete $ wmiLinkFile) -and (Test-FileShortcut $ wmiLinkFile) -and (Test-Ongebruikte $ lastAccessTime $ drempel)))

{

$ list = AttachTo-List $ list $ wmiLinkFile.Name

}

}

Merk op dat ik het tweede script niet heb getest, maar het zou net zo goed moeten werken.

Dit zou alle problemen moeten oplossen die gebruikers hebben met verwijderde snelkoppelingen op het bureaublad van Windows 7.

Zorg ervoor dat u een back-up van de bestanden maakt voordat u ze bewerkt. Laat het me weten als dit voor u heeft gewerkt of als u een beter idee hebt hoe u het verwijderde snelkoppelingsprobleem in Windows 7 kunt oplossen.