Correggi i collegamenti sul desktop di Windows 7 che scompaiono

Se esegui Windows 7 potresti aver notato che i collegamenti sul desktop scompaiono senza alcuna ragione apparente. Si scopre che la manutenzione del sistema è responsabile. Funziona come un servizio di manutenzione settimanale che influenza i collegamenti sul desktop in due modi.

In primo luogo rimuoverà i collegamenti sul desktop che non sono stati utilizzati per almeno tre mesi. La manutenzione del sistema rimuoverà anche i collegamenti interrotti sul desktop se ce ne sono più di quattro. Il problema con quest'ultimo è che Windows 7 riconoscerà i collegamenti ai percorsi di rete disconnessi come interrotti e anche i collegamenti che si collegano alle cartelle della shell.

Microsoft offre due soluzioni al problema. Il primo consiglio è di mantenere il numero di scorciatoie interrotte al di sotto di quattro. Questo non è sempre possibile a causa dei problemi con le scorciatoie interrotte di cui sopra.

Il secondo suggerimento di Microsoft è disattivare la manutenzione del computer:

  • Fare clic su Start, quindi su Pannello di controllo.
  • In Sistema e sicurezza, fai clic su Trova e risolvi problemi.
  • Nel riquadro di navigazione a sinistra, fai clic su Modifica impostazioni.
  • Impostare Manutenzione del computer su Off.

Ciò, tuttavia, disattiva tutte le altre attività relative alla manutenzione del computer come la verifica dell'ora del sistema, errori del volume del disco o rapporti sugli errori dello spazio su disco.

Tutte le attività di manutenzione sono alimentate da script che si trovano in c: \ windows \ Diagnostics \ Scheduled \ Maintenance \. Le opzioni sono di modificare gli script direttamente in quella directory. Le autorizzazioni vietano che i file vengano modificati dall'utente corrente.

Correzione dei collegamenti sul desktop di Windows 7 Scomparsa

Nota: si tratta di un hack che può influire su altre parti del sistema operativo. Tutto ha funzionato bene in seguito su un sistema di test, ma assicurati di eseguire correttamente il backup dei file prima di modificarli

Per prima cosa dobbiamo prendere il controllo dei file in modo da poterli modificare. Per fare ciò devi prima diventare proprietario, quindi modificare i diritti di accesso dell'utente corrente in modo che i file possano essere modificati.

La prima parte può essere automatizzata. Basta scaricare lo script in questo forum ed eseguirlo. Ciò dovrebbe aggiungere una voce Diventa proprietario al menu di scelta rapida in Esplora risorse.

Vai a C: \ Windows \ diagnostics \ pianificato \ Manutenzione in Esplora risorse dopo aver installato lo script e fai clic con il pulsante destro del mouse sul file TS_BrokenShortcuts.ps1 . Seleziona l'opzione Assumi proprietà che dovrebbe trasferire la proprietà all'utente che ha effettuato l'accesso.

L'utente non dispone ancora delle autorizzazioni per salvare il file, il che significa che dobbiamo completare anche il passaggio successivo prima di poter modificare il file Powerscript dei collegamenti interrotti in modo che non eliminerà automaticamente i collegamenti interrotti.

Aprire un prompt della riga comandi elevato. Puoi farlo facendo clic sulla sfera Start, Tutti i programmi, quindi Accessori. Fare clic con il tasto destro del mouse sul collegamento Prompt dei comandi e selezionare Esegui come amministratore.

Ora emetti il ​​seguente comando per concedere all'utente attivo tutti i diritti del file. Assicurati di sostituire USERNAME con il nome dell'utente attivo.

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

Ora puoi modificare il file normalmente in un editor di testo come Blocco note. Aprilo e individua la linea (linea 11)

[string]$list = ""

Elimina tutto ciò che è al di sotto di quella linea fino a (linea 22)

return $list

Le righe che vengono eliminate sono:

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELEZIONA Nome, Destinazione, AccessMask DA Win32_ShortcutFile DOVE Nome = '$ fullPath'"

if (-not (Test-ValidLink $ wmiLinkFile) -and (Test-Elimina $ wmiLinkFile))

{

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

}

}

Questo in sostanza restituisce un elenco vuoto allo script in modo che nessuna scorciatoia venga cancellata. L'ho testato con cinque scorciatoie interrotte e non sono state eliminate dopo aver eseguito la manutenzione del sistema.

Ciò ha risolto i collegamenti interrotti, ma abbiamo ancora il problema che i collegamenti che non sono stati utilizzati da un po 'di tempo vengono eliminati anche da Windows 7.

Dobbiamo (quasi) eseguire la stessa operazione qui. Individua il file TS_UnusedDesktopIcons.ps1 nella stessa directory. Assumitene la proprietà e concedi i diritti di accesso dell'utente attivo.

Successivamente modifica il file e individua la riga (24)

[string]$list = ""

Elimina tutto fino a capo (35)

return $list

in modo che le seguenti righe vengano eliminate

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

$ fullPath = ConvertTo-WQLPath $ _. FullName

$ wmiLinkFile = Get-WmiObject -query "SELEZIONA Nome, Destinazione, AccessMask DA Win32_ShortcutFile DOVE Nome = '$ fullPath'"

$ lastAccessTime = Get-LastAccessTime $ _. FullName

if ((Test-ValidLink $ wmiLinkFile) -and (Test-Delete $ wmiLinkFile) -and (Test-FileShortcut $ wmiLinkFile) -and (Test-Unused $ lastAccessTime $ soglia))

{

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

}

}

Nota che non ho testato il secondo script, ma dovrebbe funzionare altrettanto bene.

Questo dovrebbe risolvere tutti i problemi che gli utenti hanno con i collegamenti rimossi sul desktop di Windows 7.

Assicurati di eseguire correttamente il backup dei file prima di modificarli. Per favore fatemi sapere se questo ha funzionato per voi o se avete un'idea migliore su come risolvere il problema del collegamento eliminato in Windows 7.