Javítsa ki a Windows 7 asztali parancsikonjait

Ha futtatja a Windows 7 rendszert, akkor észrevette, hogy az asztali parancsikonok minden látható ok nélkül eltűnnek. Kiderült, hogy a rendszer karbantartása felelős érte. Heti karbantartási szolgáltatásként fut, amely kétféle módon befolyásolja az asztali parancsikonokat.

Először eltávolítja azokat az asztali parancsikonokat, amelyeket legalább három hónapig nem használtak. A Rendszerkarbantartás eltávolítja a törött parancsikonokat az asztalon, ha ezek közül négynél több van. Az utóbbi problémája az, hogy a Windows 7 megszakadtként ismeri fel a leválasztott hálózati helyekre mutató hivatkozásokat, valamint a parancsfájlokat, amelyek hivatkoznak a shell mappákra.

A Microsoft két megoldást kínál a problémára. Az első tanács az, hogy a megszakadt hivatkozások számát négy alatt tartsák. Ez nem mindig lehetséges a törött parancsikonokkal fentebb említett problémák miatt.

A Microsoft második javaslata a számítógép karbantartásának kikapcsolása:

  • Kattintson a Start gombra, majd a Vezérlőpult elemre.
  • A Rendszer és biztonság alatt kattintson a Problémamegkeresés és javítás elemre.
  • A bal oldali navigációs panelen kattintson a Beállítások módosítása elemre.
  • Kapcsolja ki a Computer Maintenance karbantartást.

Ez azonban kikapcsolja az összes többi, a számítógép karbantartásával kapcsolatos feladatot, például a rendszeridő, a lemezmennyiségi hibák vagy a lemezterület-hibajelentések ellenőrzését.

Az összes karbantartási feladatot a c: \ windows \ Diagnostics \ ütemezett \ karbantartás \ helyen található szkriptek hajtják végre. Lehetőség van a szkriptek közvetlen szerkesztésére abban a könyvtárban. Az engedélyek megtiltják, hogy a fájlokat az aktuális felhasználó szerkessze.

A Windows 7 asztali parancsikonjainak elhárítása

Megjegyzés: Ez egy hack, amely kihatással lehet az operációs rendszer más részeire. Ezután a tesztrendszeren minden jól működött, de a fájlok szerkesztése előtt feltétlenül készítsen biztonsági másolatot a fájlokról

Először át kell vennünk a fájlok irányítását, hogy szerkeszthessük azokat. Ehhez először át kell vennie a tulajdonjogot, majd módosítania kell az aktuális felhasználó hozzáférési jogait, hogy a fájlok módosíthatók legyenek.

Az első rész automatizálható. Csak töltse le a szkriptet a fórumon, és hajtsa végre. Ennek hozzá kell adnia egy tulajdonjogosítást a jobb egérgombbal rendelkező menübe a Windows Intézőben.

A szkript telepítése után ugorjon a C: \ Windows \ diagnosztika \ ütemezett \ Karbantartás elemre a Windows Intézőben, és kattintson a jobb gombbal a TS_BrokenShortcuts.ps1 fájlra. Válassza a Tulajdonságok átvétele lehetőséget, amelynek a tulajdonjogot át kell adnia a bejelentkezett felhasználónak.

A felhasználónak még mindig nincs engedélye a fájl mentésére, ami azt jelenti, hogy a törött parancsikonok Powerscript fájljának szerkesztése előtt a következő lépést is meg kell tennünk, hogy az automatikusan nem törölje a törött hivatkozásokat.

Nyisson meg egy emelt parancssort. Ehhez kattintson a Start gömbre, Minden program, majd a Kellékek elemre. Kattintson a jobb gombbal a Parancssor linkre, és válassza a Futtatás rendszergazdaként parancsot.

Most adja ki a következő parancsot, hogy az aktív felhasználó számára teljes jogokat biztosítson a fájlhoz. Feltétlenül cserélje ki a (z) USERNAME felhasználót az aktív felhasználó nevére.

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

Most már szerkesztheti a fájlt általában egy szövegszerkesztőben, például a Jegyzettömbben. Nyissa meg és keresse meg a sort (11. sor)

[string]$list = ""

Töröljön mindent alatta, ami a sor alatt van (22. sor)

return $list

A törölt sorok a következők:

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELECT név, cél, AccessMask a Win32_ShortcutFile-tól WHERE név = '$ fullPath'"

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

{

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

}

}

Ez alapvetõen egy üres listát ad vissza a szkripthez, így a hivatkozások nem törlõdnek. Kipróbáltam öt törött parancsikonnal, és a rendszerkarbantartás futtatása után nem törölték őket.

Ez javította a megszakadt hivatkozásokat, de továbbra is fennáll annak a kérdése, hogy a Windows 7 egy ideje nem használt hivatkozásokat is töröl.

(Szinte) ugyanazt a műveletet kell elvégeznünk itt. Keresse meg a TS_UnusedDesktopIcons.ps1 fájlt ugyanabban a könyvtárban. Vegye át a tulajdont, és adja meg az aktív felhasználói hozzáférési jogokat.

Szerkessze a fájlt utána és keresse meg a sort (24)

[string]$list = ""

Mindent törölhet sorig (35)

return $list

így a következő sorok törlődnek

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELECT név, cél, AccessMask a Win32_ShortcutFile-tól WHERE név = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. Teljes név

if ((Test-ValidLink $ wmiLinkFile) -and (Test-Delete $ wmiLinkFile) -and (Test-FileShortcut $ wmiLinkFile) -and (Test-Unused $ lastAccessTime $ küszöbérték))

{

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

}

}

Felhívjuk figyelmét, hogy nem teszteltem a második forgatókönyvet, de ugyanolyan jól kell működnie.

Ennek meg kell oldania az összes problémát, amelyet a felhasználók eltávolítottak a Windows 7 asztalon lévő parancsikonokkal kapcsolatban.

A szerkesztés előtt feltétlenül készítsen biztonsági másolatot a fájlokról. Kérjük, tudassa velem, ha ez az Ön számára működött, vagy van-e jobb ötlete a törölt parancsikon probléma kijavításáról a Windows 7 rendszerben.