Risolvi i collegamenti sul desktop di Windows 7 che scompaiono
- Categoria: Finestre
Se esegui Windows 7 potresti aver notato che i collegamenti sul desktop scompaiono senza alcun motivo apparente. Si scopre che la manutenzione del sistema è responsabile di questo. Funziona come un servizio di manutenzione settimanale che influisce sui collegamenti sul desktop in due modi.
Rimuoverà innanzitutto 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 alle cartelle della shell.
Microsoft offerte due soluzioni al problema. Il primo consiglio è di mantenere il numero di scorciatoie interrotte al di sotto di quattro. Ciò non è sempre possibile a causa dei problemi con i collegamenti interrotti 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 i 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 il controllo dell'ora di sistema, degli errori del volume del disco o dei 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 per 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 che scompaiono
Nota: questo è un hack che potrebbe influire su altre parti del sistema operativo. Tutto ha funzionato bene in seguito su un sistema di test, ma assicurati di eseguire il backup dei file correttamente prima di modificarli
Per prima cosa dobbiamo prendere il controllo dei file in modo da poterli modificare. Per fare ciò è necessario prima assumere la proprietà, 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 a questo forum ed eseguirlo. Questo dovrebbe aggiungere una voce Assumi proprietà al menu di scelta rapida in Esplora risorse.
Vai a C: Windows diagnostics Schedule Maintenance in Windows Explorer 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 connesso.
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 elimini automaticamente i collegamenti interrotti.
Apri un prompt della riga di comando con privilegi elevati. Puoi farlo facendo clic su Start orb, Tutti i programmi, quindi su Accessori. Fare clic con il pulsante destro del mouse sul collegamento del prompt dei comandi e selezionare Esegui come amministratore.
Ora emetti il seguente comando per concedere all'utente attivo i diritti completi del file. Assicurati di sostituire USERNAME con il nome dell'utente attivo.
icacls c: windows diagnostics ched 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 riga (riga 11)
[stringa] $ list = ''
Elimina tutto ciò che è al di sotto di quella riga fino a (riga 22)
return $ list
Le righe che vengono eliminate sono:
Get-ChildItem -Path $ percorso -filter * .lnk | Foreach-Object {
$ fullPath = ConvertTo-WQLPath $ _. FullName
$ wmiLinkFile = Get-WmiObject -query 'SELECT Name, Target, AccessMask FROM Win32_ShortcutFile WHERE Name =' $ fullPath ''
if (-not (Test-ValidLink $ wmiLinkFile) -and (Test-Delete $ wmiLinkFile))
{
$ list = AttachTo-List $ list $ wmiLinkFile.Name
}
}
Questo fondamentalmente restituisce un elenco vuoto allo script in modo che nessuna scorciatoia venga eliminata. L'ho testato con cinque collegamenti interrotti e non sono stati eliminati dopo aver eseguito la manutenzione del sistema.
Ciò ha risolto le scorciatoie non funzionanti, ma abbiamo ancora il problema che le scorciatoie che non sono state utilizzate per un po 'di tempo vengono eliminate anche da Windows 7.
Dobbiamo (quasi) eseguire la stessa operazione qui. Individua il file TS_UnusedDesktopIcons.ps1 nella stessa directory. Prendi la proprietà di esso e concedi i diritti di accesso dell'utente attivo.
Modifica il file in seguito e individua la riga (24)
[stringa] $ list = ''
Elimina tutto fino alla riga (35)
return $ list
in modo che le seguenti righe vengano eliminate
Get-ChildItem -Path $ percorso -filter * .lnk | Foreach-Object {
$ fullPath = ConvertTo-WQLPath $ _. FullName
$ wmiLinkFile = Get-WmiObject -query 'SELECT Name, Target, AccessMask FROM Win32_ShortcutFile WHERE Name =' $ 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
}
}
Tieni presente 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.