Поправете изчезващите клавишни комбинации за Windows 7 на работния плот

Ако работите с Windows 7, може би сте забелязали, че преките пътища на работния плот изчезват без видима причина. Оказва се, че за това е отговорна поддръжката на системата. Работи като седмична услуга за поддръжка, която влияе на преките пътища на работния плот по два начина.

Първо ще премахне преките пътища на работния плот, които не са били използвани поне три месеца. Поддръжката на системата също ще премахне счупени преки пътища на работния плот, ако има повече от четири от тях. Проблемът с последното е, че Windows 7 ще разпознава преки пътища към прекъснатите мрежови местоположения като разбити, а също и преки пътища, които се свързват към папки с черупки.

Microsoft предлага две решения на проблема. Първият съвет е да поддържате броя на счупените преки пътища под четири. Това не винаги е възможно поради споменатите по-горе проблеми със счупени преки пътища.

Второто предложение на Microsoft е да изключи Поддръжката на компютър:

  • Щракнете върху Старт и след това щракнете върху Контролен панел.
  • Под Система и сигурност щракнете върху Намиране и отстраняване на проблеми.
  • В левия панел за навигация щракнете върху Промяна на настройките.
  • Изберете Изключване на поддръжката на компютъра.

Това обаче изключва всички други задачи, свързани с поддръжката на компютъра, като проверка на системното време, грешки в обема на диска или отчетите за грешки в дисковото пространство.

Всички задачи за поддръжка се захранват от скриптове, които се намират в c: \ windows \ Диагностика \ Планирано \ Поддръжка \. Опциите са да редактирате скриптове директно в тази директория. Разрешенията забраняват файловете да бъдат редактирани от текущия потребител.

Поправяне на изчезващи преки пътища на работния плот на Windows 7

Моля, обърнете внимание: Това е хак, който може да засегне други части на операционната система. След това всичко работи добре на тестова система, но се уверете, че архивирате файловете правилно, преди да ги редактирате

Първо трябва да поемем контрола върху файловете, за да можем да ги редактираме. За целта първо трябва да поемете собствеността и след това да промените правата за достъп на текущия потребител, така че файловете да могат да бъдат модифицирани.

Първата част може да бъде автоматизирана. Просто изтеглете скрипта на този форум и го изпълнете. Това трябва да добави запис на Take Ownership в менюто с десния бутон на мишката в Windows Explorer.

Отидете на C: \ Windows \ диагностика \ планирано \ Поддръжка в Windows Explorer след инсталиране на скрипта и щракнете с десния бутон върху файла TS_BrokenShortcuts.ps1 . Изберете опцията Take Ownership, която трябва да прехвърли собствеността на влезлия потребител.

Потребителят все още няма разрешения за запазване на файла, което означава, че трябва да извършим и следващата стъпка, преди да можем да редактираме счупените преки пътища Powerscript файла, така че да не изтрива счупените преки пътища автоматично.

Отворете повишен команден ред. Това правите, като щракнете върху Старт кълбо, Всички програми, след това Аксесоари. Щракнете с десния бутон върху връзката Command Prompt и изберете за стартиране като администратор.

Сега издайте следната команда, за да предоставите на активния потребител пълни права на файла. Уверете се, че замествате USERNAME с името на активния потребител.

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

Сега можете да редактирате файла обикновено в текстов редактор като Notepad. Отворете го и намерете реда (ред 11)

[string]$list = ""

Изтрийте всичко отдолу, което е под този ред до (ред 22)

return $list

Редовете, които се изтриват, са:

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "ИЗБЕРЕТЕ Име, Цел, AccessMask ОТ Win32_ShortcutFile WHERE Име = '$ fullPath'"

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

{

$ list = Прикачване на списък $ list $ wmiLinkFile.Name

}

}

Това основно връща празен списък към скрипта, така че да не се изтриват никакви преки пътища. Тествах го с пет счупени преки пътища и те не са изтрити след стартиране на поддръжката на системата.

Това коригира счупените преки пътища, но все още имаме проблем, че преките пътища, които не са били използвани от известно време, се изтриват и от Windows 7.

Тук трябва (почти) да извършим същата операция. Намерете файла TS_UnusedDesktopIcons.ps1 в същата директория. Вземете собственост върху него и предоставете активните права за достъп на потребителите.

Редактирайте файла след това и намерете реда (24)

[string]$list = ""

Изтрийте всичко до ред (35)

return $list

така че следващите редове да бъдат изтрити

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "ИЗБЕРЕТЕ Име, Цел, AccessMask ОТ Win32_ShortcutFile WHERE Име = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. FullName

if ((Test-ValidLink $ wmiLinkFile) -и (Test-Delete $ wmiLinkFile) -и (Test-FileShortcut $ wmiLinkFile) -и (Test-Unused $ lastAccessTime $ prag))

{

$ list = Прикачване на списък $ list $ wmiLinkFile.Name

}

}

Моля, обърнете внимание, че не тествах втория скрипт, но той трябва да работи също толкова добре.

Това трябва да разреши всички проблеми, които потребителите имат с премахнатите преки пътища на работния плот на Windows 7.

Уверете се, че архивирате файловете правилно, преди да ги редактирате. Моля, уведомете ме дали това работи за вас или ако имате по-добра идея как да отстраните проблема с изтрития пряк път в Windows 7.