Виправлення зникнення ярликів робочого столу Windows 7

Якщо ви запускаєте Windows 7, можливо, ви помітили, що ярлики на робочому столі зникають без видимих ​​причин. Виявляється, за це відповідає системне обслуговування. Він працює як щотижнева служба технічного обслуговування, яка впливає на ярлики робочого столу двома способами.

Спочатку буде видалено ярлики на робочому столі, які не використовувалися принаймні три місяці. Технічне обслуговування також видалить несправні ярлики на робочому столі, якщо їх більше чотирьох. Проблема останнього полягає в тому, що Windows 7 розпізнає ярлики до відключених мережевих місць як зламані, а також ярлики, які посилаються на папки оболонки.

Microsoft пропонує два рішення проблеми. Перша порада - тримати кількість несправних ярликів нижче чотирьох. Це не завжди можливо через згадані вище проблеми зі зламаними ярликами.

Друга пропозиція Microsoft - вимкнути технічне обслуговування комп'ютера:

  • Клацніть Пуск, а потім клацніть Панель управління.
  • У розділі Система та безпека натисніть Знайти та виправити проблеми.
  • На лівій панелі навігації натисніть Змінити налаштування.
  • Установіть Вимкнення обслуговування комп'ютера.

Це, однак, вимикає всі інші завдання, пов'язані з обслуговуванням комп'ютера, такі як перевірка системного часу, помилки обсягу диска або звіти про помилки на диску.

Усі завдання технічного обслуговування працюють за допомогою скриптів, які знаходяться в c: \ windows \ Diagnostics \ Scheduled \ Maintenance \. Параметри полягають у редагуванні сценаріїв безпосередньо в цьому каталозі. Дозволи дозволяють забороняти редагування файлів поточним користувачем.

Виправлення ярликів швидкого доступу до робочого столу Windows 7

Зверніть увагу: Це злом, який може вплинути на інші частини операційної системи. Після цього все працювало нормально на тест-системі, але перед редагуванням переконайтесь, що потрібно створити резервну копію файлів

Спочатку нам потрібно взяти під контроль файли, щоб ми могли їх редагувати. Для цього вам потрібно спочатку взяти право власності, а потім змінити права доступу поточного користувача, щоб файли могли бути змінені.

Перша частина може бути автоматизована. Просто скачайте скрипт на цьому форумі та виконайте його. До цього слід додати запис Take Ownership до меню правої кнопки миші в Провіднику Windows.

Після установки сценарію перейдіть до C: \ Windows \ діагностика \ заплановане \ Технічне обслуговування в Windows Explorer і натисніть файл TS_BrokenShortcuts.ps1 правою кнопкою миші . Виберіть варіант Take Ownership, який повинен передати право власності користувачеві, який увійшов.

У користувача все ще немає дозволу на збереження файлу, а це означає, що ми повинні виконати наступний крок також, перш ніж ми зможемо редагувати розбиті ярлики файлу Powerscript, щоб він не видаляв зламані ярлики автоматично.

Відкрийте піднесений командний рядок. Виконайте це, натиснувши на кнопку Пуск, виберіть Усі програми, а потім Аксесуари. Клацніть правою кнопкою миші посилання Командний рядок та виберіть Запустити як адміністратор.

Тепер видайте таку команду, щоб надати активному користувачеві повні права на файл. Переконайтесь, що ви замінили USERNAME на ім’я активного користувача.

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

Тепер ви можете нормально редагувати файл у текстовому редакторі, як-от Блокнот. Відкрийте його та знайдіть рядок (рядок 11)

[string]$list = ""

Видаліть усе, що нижче цього рядка до (рядок 22)

return $list

Видаляються рядки:

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

$ fullPath = КонвертуватиTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "ВИБІРТИ Ім'я, ціль, AccessMask ВІД Win32_ShortcutFile WHERE Ім'я = '$ fullPath'"

if (-not (Test-ValidLink $ wmiLinkFile) -and (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 = КонвертуватиTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "ВИБІРТИ Ім'я, ціль, AccessMask ВІД Win32_ShortcutFile WHERE Ім'я = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. FullName

if ((Test-ValidLink $ wmiLinkFile) -and (Test-Delete $ wmiLinkFile) -and (Test-FileShortcut $ wmiLinkFile) -and (Test-Unused $ lastAccessTime $ порог))

{

$ list = Приєднати до списку $ list $ wmiLinkFile.Name

}

}

Зверніть увагу, що я не перевіряв другий сценарій, але він повинен працювати так само добре.

Це має вирішити всі проблеми, які виникають у користувачів із видаленими ярликами на робочому столі Windows 7.

Перед редагуванням переконайтесь, що ви створили резервну копію файлів належним чином. Будь ласка, дайте мені знати, чи це працювало для вас, чи ви маєте краще уявлення про те, як виправити проблему з видаленим ярликом у Windows 7.