Fix Windows 7 Desktop genveje forsvinder

Hvis du kører Windows 7, har du måske bemærket, at skrivebordsgenveje forsvinder uden nogen åbenbar grund overhovedet. Det viser sig, at systemvedligeholdelse er ansvarlig for det. Det kører som en ugentlig vedligeholdelsestjeneste, der påvirker skrivebordsgenveje på to måder.

Det vil først fjerne skrivebordsgenveje, der ikke er blevet brugt i mindst tre måneder. Systemvedligeholdelse fjerner også ødelagte genveje på skrivebordet, hvis der er mere end fire af dem. Problemet med sidstnævnte er, at Windows 7 genkender genveje til frakoblede netværksplaceringer som ødelagte og også genveje, der linker til shell-mapper.

Microsoft tilbyder to løsninger på problemet. Det første råd er at holde antallet af ødelagte genveje under fire. Dette er ikke altid muligt på grund af problemerne med ødelagte genveje nævnt ovenfor.

Det andet forslag fra Microsoft er at slå Computervedligeholdelse fra:

  • Klik på Start, og klik derefter på Kontrolpanel.
  • Klik på Find og rettelse af problemer under System og sikkerhed.
  • Klik på Skift indstillinger i venstre navigationsrude.
  • Sæt computervedligeholdelse til Fra.

Dette deaktiverer imidlertid alle andre computervedligeholdelsesrelaterede opgaver, som f.eks. Kontrol af systemtid, diskvolumenfejl eller diskpladsfejlrapporter.

Alle vedligeholdelsesopgaver drives af scripts, der er placeret i c: \ windows \ Diagnostics \ Planlagt \ vedligeholdelse \. Valgmulighederne er at redigere scripts direkte i det bibliotek. Tilladelserne forbyder, at filerne redigeres af den aktuelle bruger.

Fixing Windows 7 Desktop Genveje forsvinder

Bemærk: Dette er et hack, der kan påvirke andre dele af operativsystemet. Alt fungerede fint bagefter på et testsystem, men sørg for at sikkerhedskopiere filerne korrekt, inden du redigerer dem

Først skal vi tage kontrol over filerne, så vi kan redigere dem. For at gøre dette skal du først tage ejerskab og derefter ændre adgangsrettighederne for den aktuelle bruger, så filerne kan ændres.

Den første del kan automatiseres. Bare download scriptet på dette forum og udfør det. Dette bør tilføje en post til ejerskab til højreklik-menuen i Windows Stifinder.

Gå til C: \ Windows \ diagnostik \ planlagt \ Vedligeholdelse i Windows Stifinder efter installation af scriptet og højreklik på filen TS_BrokenShortcuts.ps1 . Vælg indstillingen Take Ownership, som skal overføre ejerskabet til den loggede bruger.

Brugeren har stadig ikke tilladelser til at gemme filen, hvilket betyder, at vi også skal gennemføre det næste trin, før vi kan redigere de ødelagte genveje Powerscript-filen, så den ikke sletter ødelagte genveje automatisk.

Åbn en forhøjet kommandolinjemeddelelse. Det gør du ved at klikke på Start orb, Alle programmer og derefter Tilbehør. Højreklik på linket Kommandoprompt, og vælg at Kør som administrator.

Udsted nu følgende kommando for at give den aktive bruger fuld rettigheder til filen. Sørg for at udskifte USERNAME med navnet på den aktive bruger.

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

Nu kan du redigere filen normalt i en teksteditor som Notepad. Åbn den, og find linjen (linje 11)

[string]$list = ""

Slet alt nedenfor, der er under denne linje op til (linje 22)

return $list

Linjerne, der er slettet, er:

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject-forespørgsel "SELECT Name, Target, AccessMask FRA Win32_ShortcutFile WHERE Name = '$ fullPath'"

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

{

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

}

}

Dette returnerer dybest set en tom liste til scriptet, så ingen genveje slettes. Jeg har testet det med fem ødelagte genveje, og de er ikke blevet slettet efter at have kørt systemvedligeholdelse.

Det løste de ødelagte genveje, men vi har stadig det problem, at genveje, der ikke er blevet brugt i nogen tid, slettes også af Windows 7.

Vi skal (næsten) udføre den samme handling her. Find filen TS_UnusedDesktopIcons.ps1 i samme bibliotek. Tag ejerskab af det og give de aktive brugeradgangsrettigheder.

Rediger filen bagefter og find linjen (24)

[string]$list = ""

Slet alt op til linje (35)

return $list

så de følgende linjer slettes

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject-forespørgsel "SELECT Name, Target, AccessMask FRA Win32_ShortcutFile WHERE Name = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. FullName

if ((Test-ValidLink $ wmiLinkFile) -og (Test-Delete $ wmiLinkFile) -og (Test-FileShortcut $ wmiLinkFile) -og (Test-Unused $ lastAccessTime $ tærskel))

{

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

}

}

Bemærk, at jeg ikke testede det andet script, men det skulle fungere lige så fint.

Dette skal løse alle problemer, som brugerne har med fjernede genveje på Windows 7-skrivebordet.

Sørg for, at du sikkerhedskopierer filerne korrekt, før du redigerer dem. Lad mig vide, om dette fungerede for dig, eller hvis du har en bedre idé om, hvordan du løser det slettede genvejsproblem i Windows 7.