แก้ไขทางลัดเดสก์ท็อป Windows 7 ที่หายไป

หากคุณใช้งาน Windows 7 คุณอาจสังเกตเห็นว่าทางลัดบนเดสก์ท็อปหายไปโดยไม่มีเหตุผลใด ๆ ปรากฎว่าการบำรุงรักษาระบบเป็นผู้รับผิดชอบ มันทำงานเป็นบริการบำรุงรักษารายสัปดาห์ที่มีผลต่อทางลัดบนเดสก์ท็อปในสองวิธี

มันจะลบทางลัดบนเดสก์ท็อปก่อนซึ่งไม่ได้ใช้งานเป็นเวลาอย่างน้อยสามเดือน การบำรุงรักษาระบบจะลบทางลัดที่เสียหายบนเดสก์ท็อปด้วยถ้ามีมากกว่าสี่ตัว ปัญหาหลังคือ Windows 7 จะรู้จักทางลัดไปยังตำแหน่งเครือข่ายที่ขาดการเชื่อมต่อและทางลัดที่เชื่อมโยงไปยังโฟลเดอร์เชลล์

Microsoft เสนอวิธีแก้ไขปัญหาสองวิธี คำแนะนำแรกคือการรักษาจำนวนของทางลัดที่แตกด้านล่างสี่ สิ่งนี้ไม่สามารถทำได้เสมอไปเนื่องจากปัญหาเกี่ยวกับทางลัดที่เสียหายดังกล่าวข้างต้น

คำแนะนำที่สองโดย Microsoft คือการปิดการบำรุงรักษาคอมพิวเตอร์:

  • คลิกเริ่มแล้วคลิกแผงควบคุม
  • ภายใต้ระบบและความปลอดภัยคลิกค้นหาและแก้ไขปัญหา
  • ที่บานหน้าต่างนำทางด้านซ้ายให้คลิกเปลี่ยนการตั้งค่า
  • ตั้งค่าการบำรุงรักษาคอมพิวเตอร์เป็นปิด

อย่างไรก็ตามสิ่งนี้จะปิดงานที่เกี่ยวข้องกับการบำรุงรักษาคอมพิวเตอร์อื่น ๆ ทั้งหมดเช่นการตรวจสอบเวลาของระบบข้อผิดพลาดของโวลุ่มดิสก์หรือรายงานข้อผิดพลาดของพื้นที่ดิสก์

งานบำรุงรักษาทั้งหมดดำเนินการโดยสคริปต์ที่อยู่ใน c: \ windows \ Diagnostics \ Scheduled \ Maintenance \ ตัวเลือกคือการแก้ไขสคริปต์โดยตรงในไดเรกทอรีนั้น การอนุญาตนั้นห้ามโดยผู้ใช้ปัจจุบัน

แก้ไขทางลัด Windows 7 Desktop ลัดหายไป

โปรดทราบ: นี่เป็นแฮ็คที่อาจส่งผลกระทบต่อส่วนอื่น ๆ ของระบบปฏิบัติการ ทุกอย่างทำงานได้ดีหลังจากนั้นในระบบทดสอบ แต่ให้แน่ใจว่าได้ทำการสำรองไฟล์อย่างถูกต้องก่อนทำการแก้ไข

ก่อนอื่นเราต้องควบคุมไฟล์เพื่อให้เราสามารถแก้ไขได้ เมื่อต้องการทำเช่นนั้นคุณต้องเป็นเจ้าของก่อนแล้วจึงแก้ไขสิทธิ์การเข้าถึงของผู้ใช้ปัจจุบันเพื่อให้สามารถแก้ไขไฟล์ได้

ส่วนแรกสามารถเป็นแบบอัตโนมัติได้ เพียงดาวน์โหลดสคริปต์ที่ฟอรัมนี้และดำเนินการ สิ่งนี้ควรเพิ่มรายการ Take Ownership ลงในเมนูคลิกขวาใน Windows Explorer

ไปที่ C: \ Windows \ diagnostics \ sched \ Maintenance ใน Windows Explorer หลังจากติดตั้งสคริปต์และคลิกขวาที่ไฟล์ TS_BrokenShortcuts.ps1 เลือกตัวเลือกใช้ความเป็นเจ้าของซึ่งควรโอนความเป็นเจ้าของให้กับผู้ใช้ที่เข้าสู่ระบบ

ผู้ใช้ยังคงไม่มีสิทธิ์ในการบันทึกไฟล์ซึ่งหมายความว่าเราต้องทำตามขั้นตอนต่อไปด้วยก่อนที่เราจะสามารถแก้ไขไฟล์ Powerscript ทางลัดที่ใช้งานไม่ได้เพื่อที่จะไม่ลบทางลัดที่เสียหายโดยอัตโนมัติ

เปิดพรอมต์บรรทัดคำสั่งที่ยกระดับ คุณทำได้โดยคลิกที่ปุ่มเริ่มต้น, โปรแกรมทั้งหมด, จากนั้นอุปกรณ์เสริม คลิกขวาที่ลิงก์พรอมต์คำสั่งแล้วเลือกเพื่อเรียกใช้ในฐานะผู้ดูแลระบบ

ตอนนี้ออกคำสั่งต่อไปนี้เพื่อให้สิทธิ์ผู้ใช้ที่ใช้งานเต็มรูปแบบของไฟล์ ตรวจสอบให้แน่ใจว่าคุณแทนที่ 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 Name = '$ fullPath'"

ถ้า (-not (ทดสอบ -LinkLink $ wmiLinkFile) - และ (ทดสอบลบ $ wmiLinkFile)

{

$ list = AttachTo-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 Name = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. ชื่อเต็ม

if ((ทดสอบ -LinkLink $ wmiLinkFile) - และ (ทดสอบลบ $ wmiLinkFile) - และ (ทดสอบ FileShortcut $ wmiLinkFile) - และ (ทดสอบ - ไม่ใช้ $ lastAccessTime $ threshold)

{

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

}

}

โปรดทราบว่าฉันไม่ได้ทดสอบสคริปต์ที่สอง แต่ควรจะทำงานได้ดี

การดำเนินการนี้ควรแก้ไขปัญหาทั้งหมดที่ผู้ใช้ลบทางลัดบนเดสก์ท็อป Windows 7

ตรวจสอบให้แน่ใจว่าคุณสำรองไฟล์อย่างถูกต้องก่อนที่จะแก้ไข โปรดแจ้งให้เราทราบว่าสิ่งนี้ได้ผลสำหรับคุณหรือหากคุณมีแนวคิดที่ดีกว่าเกี่ยวกับวิธีแก้ไขปัญหาทางลัดที่ถูกลบใน Windows 7