Correction des raccourcis du bureau Windows 7 disparaissant

Si vous utilisez Windows 7, vous avez peut-être remarqué que les raccourcis sur le bureau disparaissent sans raison apparente. Il s'avère que la maintenance du système est responsable de cela. Il s'agit d'un service de maintenance hebdomadaire qui affecte les raccourcis sur le bureau de deux manières.

Il supprimera d'abord les raccourcis sur le bureau qui n'ont pas été utilisés depuis au moins trois mois. La maintenance du système supprimera également les raccourcis cassés sur le bureau s'il y en a plus de quatre. Le problème avec ce dernier problème est que Windows 7 reconnaîtra les raccourcis vers les emplacements réseau déconnectés comme rompus ainsi que les raccourcis qui relient les dossiers du shell.

Microsoft propose deux solutions au problème. Le premier conseil est de garder le nombre de raccourcis cassés en dessous de quatre. Ce n'est pas toujours possible en raison des problèmes de raccourcis rompus mentionnés ci-dessus.

La deuxième suggestion de Microsoft est de désactiver la maintenance de l'ordinateur:

  • Cliquez sur Démarrer, puis sur Panneau de configuration.
  • Sous Système et sécurité, cliquez sur Rechercher et résoudre les problèmes.
  • Dans le volet de navigation de gauche, cliquez sur Modifier les paramètres.
  • Réglez Maintenance de l'ordinateur sur Off.

Cela désactive toutefois toutes les autres tâches liées à la maintenance de l'ordinateur, telles que la vérification de l'heure du système, les erreurs de volume de disque ou les rapports d'erreur d'espace disque.

Toutes les tâches de maintenance reposent sur des scripts situés dans c: \ windows \ Diagnostics \ Scheduled \ Maintenance \. Les options consistent à modifier les scripts directement dans ce répertoire. Les autorisations empêchent que les fichiers soient modifiés par l'utilisateur actuel.

Correction des disparitions de raccourcis du bureau Windows 7

Remarque: il s'agit d'un piratage pouvant avoir un impact sur d'autres parties du système d'exploitation. Tout a bien fonctionné par la suite sur un système de test, mais veillez à bien sauvegarder les fichiers avant de les éditer.

Nous devons d’abord prendre le contrôle des fichiers pour pouvoir les éditer. Pour ce faire, vous devez d'abord en devenir propriétaire, puis modifier les droits d'accès de l'utilisateur actuel afin que les fichiers puissent être modifiés.

La première partie peut être automatisée. Il suffit de télécharger le script sur ce forum et de l'exécuter. Cela devrait ajouter une entrée S'approprier au menu contextuel de l'Explorateur Windows.

Accédez à C: \ Windows \ Diagnostics \ Scheduled \ Maintenance dans l'Explorateur Windows après avoir installé le script et cliquez avec le bouton droit sur le fichier TS_BrokenShortcuts.ps1 . Sélectionnez l'option Prendre possession qui devrait transférer la propriété à l'utilisateur connecté.

L'utilisateur n'a toujours pas l'autorisation de sauvegarder le fichier, ce qui signifie que nous devons également passer à l'étape suivante avant de pouvoir modifier le fichier Powerscript des raccourcis rompus afin qu'il ne supprime pas automatiquement les raccourcis rompus.

Ouvrez une invite de ligne de commande avec privilèges élevés. Vous faites cela en cliquant sur Démarrer orbe, Tous les programmes, puis Accessoires. Cliquez avec le bouton droit de la souris sur le lien Invite de commandes et sélectionnez Exécuter en tant qu'administrateur.

Exécutez maintenant la commande suivante pour accorder à l'utilisateur actif tous les droits du fichier. Assurez-vous de remplacer USERNAME par le nom de l'utilisateur actif.

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

Vous pouvez maintenant éditer le fichier normalement dans un éditeur de texte tel que le Bloc-notes. Ouvrez-le et localisez la ligne (ligne 11)

[string]$list = ""

Supprimer tout ce qui se trouve en-dessous de cette ligne jusqu'à (ligne 22)

return $list

Les lignes supprimées sont:

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

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

if (-not (Test-ValidLink $ wmiLinkFile) -et (Test-Suppr $ wmiLinkFile))

{

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

}

}

En gros, cela retourne une liste vierge au script afin qu'aucun raccourci ne soit supprimé. Je l'ai testé avec cinq raccourcis cassés et ils n'ont pas été supprimés après la maintenance du système.

Cela corrigeait les raccourcis cassés, mais nous avons toujours le problème suivant: Windows 7 supprime également les raccourcis inutilisés depuis un certain temps.

Nous devons (presque) effectuer la même opération ici. Recherchez le fichier TS_UnusedDesktopIcons.ps1 dans le même répertoire. Prenez-en possession et accordez les droits d'accès de l'utilisateur actif.

Editez ensuite le fichier et localisez la ligne (24)

[string]$list = ""

Supprimer tout jusqu'à la ligne (35)

return $list

afin que les lignes suivantes soient supprimées

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

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

$ lastAccessTime = Get-LastAccessTime $ _. Nom complet

if (((Test-ValidLink $ wmiLinkFile)) et (Test-Suppr $ wmiLinkFile) - et (Test-FileShortcut $ wmiLinkFile) - et (Test-Unused $ lastAccessTime $ seuil))

{

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

}

}

Veuillez noter que je n'ai pas testé le second script, mais que cela devrait fonctionner aussi bien.

Cela devrait résoudre tous les problèmes rencontrés par les utilisateurs avec la suppression des raccourcis sur le bureau Windows 7.

Assurez-vous de sauvegarder les fichiers correctement avant de les éditer. Faites-moi savoir si cela a fonctionné pour vous ou si vous avez une meilleure idée sur la façon de résoudre le problème du raccourci supprimé dans Windows 7.