Napraw znikanie skrótów pulpitu systemu Windows 7

Jeśli korzystasz z systemu Windows 7, zauważyłeś, że skróty na pulpicie znikają bez wyraźnego powodu. Okazuje się, że za to odpowiada utrzymanie systemu. Działa jako cotygodniowa usługa serwisowa, która wpływa na skróty pulpitu na dwa sposoby.

Najpierw usunie skróty pulpitu, które nie były używane przez co najmniej trzy miesiące. Konserwacja systemu usunie również zepsute skróty na pulpicie, jeśli jest ich więcej niż cztery. Problem polega na tym, że Windows 7 rozpoznaje skróty do rozłączonych lokalizacji sieciowych jako uszkodzone, a także skróty prowadzące do folderów powłoki.

Microsoft oferuje dwa rozwiązania tego problemu. Pierwszą radą jest utrzymanie liczby łamanych skrótów poniżej czterech. Nie zawsze jest to możliwe ze względu na problemy ze złamanymi skrótami wspomniane powyżej.

Druga sugestia firmy Microsoft to wyłączenie Konserwacji komputera:

  • Kliknij Start, a następnie Panel sterowania.
  • W obszarze System i zabezpieczenia kliknij Znajdź i napraw problemy.
  • W lewym okienku nawigacji kliknij Zmień ustawienia.
  • Ustaw opcję Konserwacja komputera na Wyłączone.

To jednak wyłącza wszystkie inne zadania związane z konserwacją komputera, takie jak sprawdzanie czasu systemowego, błędów woluminu dysku lub raportów o błędach miejsca na dysku.

Wszystkie zadania konserwacyjne są obsługiwane przez skrypty znajdujące się w katalogu c: \ windows \ Diagnostics \ Scheduled \ Maintenance \. Opcje obejmują edycję skryptów bezpośrednio w tym katalogu. Uprawnienia zabraniają edytowania plików przez bieżącego użytkownika.

Naprawianie znikania skrótów pulpitu systemu Windows 7

Uwaga: jest to włamanie, które może wpłynąć na inne części systemu operacyjnego. Potem wszystko działało dobrze w systemie testowym, ale przed ich edycją upewnij się, że odpowiednio wykonałeś kopię zapasową plików

Najpierw musimy przejąć kontrolę nad plikami, abyśmy mogli je edytować. Aby to zrobić, musisz najpierw przejąć własność, a następnie zmodyfikować prawa dostępu bieżącego użytkownika, aby umożliwić modyfikację plików.

Pierwszą część można zautomatyzować. Po prostu pobierz skrypt na tym forum i uruchom go. To powinno dodać pozycję Przejęcia na własność do menu prawym przyciskiem myszy w Eksploratorze Windows.

Po zainstalowaniu skryptu przejdź do C: \ Windows \ diagnostics \ schedule \ Maintenance w Eksploratorze Windows i kliknij prawym przyciskiem myszy plik TS_BrokenShortcuts.ps1 . Wybierz opcję Przejęcia na własność, która powinna przenieść własność na zalogowanego użytkownika.

Użytkownik nadal nie ma uprawnień do zapisywania pliku, co oznacza, że ​​musimy również wykonać następny krok, zanim będziemy mogli edytować uszkodzony plik Powerscript, aby nie usuwał automatycznie uszkodzonych skrótów.

Otwórz wiersz polecenia z podwyższonym poziomem uprawnień. Robisz to, klikając Start orb, Wszystkie programy, a następnie Akcesoria. Kliknij prawym przyciskiem myszy łącze Wiersz polecenia i wybierz opcję Uruchom jako administrator.

Teraz wydaj następujące polecenie, aby nadać aktywnemu użytkownikowi pełne prawa do pliku. Upewnij się, że zastąpiłeś USERNAME nazwą aktywnego użytkownika.

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

Teraz możesz edytować plik normalnie w edytorze tekstów, takim jak Notatnik. Otwórz i zlokalizuj linię (linia 11)

[string]$list = ""

Usuń wszystko poniżej tego, co jest poniżej tej linii do (linia 22)

return $list

Usunięte linie to:

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELECT Name, Target, AccessMask FROM Win32_ShortcutFile WHERE Name = '$ fullPath'"

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

{

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

}

}

To w zasadzie zwraca pustą listę do skryptu, aby żadne skróty nie zostały usunięte. Przetestowałem go z pięcioma uszkodzonymi skrótami i nie zostały one usunięte po przeprowadzeniu konserwacji systemu.

Naprawiono zepsute skróty, ale nadal mamy problem polegający na tym, że skróty, które nie były używane przez pewien czas, są również usuwane przez system Windows 7.

Musimy (prawie) wykonać tę samą operację tutaj. Znajdź plik TS_UnusedDesktopIcons.ps1 w tym samym katalogu. Przejmij na własność i nadaj aktywnym użytkownikom prawa dostępu.

Następnie edytuj plik i zlokalizuj linię (24)

[string]$list = ""

Usuń wszystko do linii (35)

return $list

tak aby następujące wiersze zostały usunięte

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELECT Name, Target, AccessMask FROM Win32_ShortcutFile WHERE Name = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. Pełna nazwa

if ((Test-ValidLink $ wmiLinkFile) -i (Test-Delete $ wmiLinkFile) -i (Test-FileShortcut $ wmiLinkFile) -i (Test-nieużywany próg $ lastAccessTime $))

{

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

}

}

Pamiętaj, że nie testowałem drugiego skryptu, ale powinien on działać równie dobrze.

To powinno rozwiązać wszystkie problemy z usuniętymi skrótami na pulpicie systemu Windows 7.

Upewnij się, że wykonałeś kopię zapasową plików przed ich edycją. Daj mi znać, jeśli to zadziałało lub masz lepszy pomysł, jak rozwiązać problem usuniętego skrótu w systemie Windows 7.