Disabilita la creazione di desktop.ini in Windows 10 (sul desktop)


25

Vorrei interrompere la creazione del file "desktop.ini" sul "Desktop" della mia macchina Windows 10. Ho fatto questa domanda sepcifically su Windows 10: C'è una domanda circa lo stesso problema su Windows 8 qui , le soluzioni proposte lì (e non solo) per Windows 7 e 8 non sembra funzionare.

Per favore, nessuna soluzione sulla falsariga di "disabilitare la visualizzazione di file nascosti". La mia domanda specifica è come interrompere la creazione del file sul desktop.


Fa UseDesktopIniCache=0(dalla risposta a superuser.com/a/650431/523828 ) non funziona in Windows 10?
dxiv,

@dxiv Temo che non funzioni.
Neil Townsend,

Presumo che tu abbia apportato / verificato la modifica sia in Software e Software \ Wow6432Node, sia dopo il riavvio.
dxiv

@dxiv Sì ... ho paura ...
Neil Townsend,

Grazie per il follow-up. Una cosa in meno da provare quando arriva il mio "10".
dxiv

Risposte:


7

(Molto) Modifica successiva: sembra che questa soluzione non funzioni più su Windows10. Lasciando la risposta qui per riferimento.


Ho usato la soluzione trovata qui :

  • Premi Win+Red entraregedit
  • Navigare verso HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
  • Modifica / crea nuovo DWORD: UseDesktopIniCachecon i dati0

Per me, non avevo il valore, quindi ho dovuto crearlo. Dopo il riavvio, ha creato automaticamente il valore inHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer

Esecuzione di Windows 10 Build 14393.222


Leggere come fare riferimento al materiale scritto da altri . Dovresti bloccare il testo di citazione che è stato scritto da qualcun altro. Vedere la guida di Markdown . L'ho risolto per te questa volta, ma per favore presta attenzione a questo in futuro.
DavidPostill

2
Ciao, temo che non funzioni sul mio sistema Windows 10, con l'ultima versione di 10. Ma grazie per averci provato, lo apprezzo.
Neil Townsend,

1

Script aggiornato. Funzionamento verificato e non attiva la finestra di dialogo delle autorizzazioni.


Non è possibile impedire a Windows di creare desktop.ini perché non è Windows a farlo. Qualche altro servizio di terze parti sta innescando la creazione di quel file e chiaramente Windows lo consente nonostante UseDesktopIniCache = 0.

Desktop.ini mi stava facendo impazzire, quindi ho trovato una soluzione ragtag. Ho osservato che il file desktop.ini viene creato pochi secondi dopo l'avvio. Ne ho approfittato. Utilizzando l'Utilità di pianificazione, disabilito temporaneamente l'autorizzazione di scrittura sul desktop all'avvio. Ciò impedisce ai servizi di terze parti di eseguire shenanigans con il mio desktop. Quindi un minuto dopo l'avvio, un'altra attività ripristina l'autorizzazione di scrittura sul desktop.

Qui ho condiviso un set di file XML di esempio per l'Utilità di pianificazione per fare il lavoro.

Questa versione dello script disabilita l'ereditarietà

Ho trovato l'eredità troppo confusa, quindi l'ho disabilitata per la cartella Desktop. Potresti aggiungere / ereditarietà: e da qualche parte nel secondo script se ne hai davvero bisogno, ma nota che disabilitare l'ereditarietà è un processo con perdita di dati, quindi l'aggiunta di quella linea non riporterà tutto nel punto in cui erano prima. Il desktop non è una cartella di sistema, quindi non dovrebbe interessarti a prescindere.

Questo è per disabilitare l'autorizzazione di scrittura all'avvio:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2018-01-09T18:21:14.9818893</Date>
    <Author>spero_LAPTOP\spero</Author>
    <URI>\Desktop Write Permission disable</URI>
  </RegistrationInfo>
  <Triggers>
    <LogonTrigger>
      <ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
      <Enabled>true</Enabled>
    </LogonTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>##################################</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>true</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /inheritance:d /remove "SYSTEM"</Arguments>
    </Exec>
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /remove "Administrators"</Arguments>
    </Exec>
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /remove "spero"</Arguments>
    </Exec>
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /grant "Administrators":(OI)(GR)</Arguments>
    </Exec>
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /grant "spero":(OI)(GR)</Arguments>
    </Exec>
  </Actions>
</Task>

Questo è per ripristinare l'autorizzazione un minuto dopo:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2018-01-09T18:19:03.2968461</Date>
    <Author>spero_LAPTOP\spero</Author>
    <URI>\Desktop Write Permission</URI>
  </RegistrationInfo>
  <Triggers>
    <LogonTrigger>
      <ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
      <Enabled>true</Enabled>
      <Delay>PT1M</Delay>
    </LogonTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>######################################</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>true</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1M</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /grant "Administrators":F</Arguments>
    </Exec>
    <Exec>
      <Command>ICACLS</Command>
      <Arguments>"C:\Users\spero\Desktop" /grant "spero":F</Arguments>
    </Exec>
  </Actions>
</Task>

Si prega di notare che il mio disco di avvio è un SSD, anche se non molto veloce. I tempi possono variare in base alla velocità con cui il tuo sistema operativo si avvia.

Inoltre, non è possibile importare questi script direttamente a causa della presenza di campi Autore e ID utente. Basta prendere nota di tutti i parametri.


Aggiornamento: dopo aver usato la soluzione sopra per un po 'e aver dovuto gestire un migliaio di messaggi "Attualmente non hai i permessi per accedere a questa cartella" che si sono rivelati un problema maggiore rispetto ai file desktop.ini, ora ti consiglio cambiando il comando in ICACLS "C: \ Users \ Spero \ Desktop" / negare "Administrators" :( WD). Ho aggiornato di conseguenza lo script sopra.
Spero,

-1

[Eliminata la risposta precedente] Spiacenti, mi dispiace per quello. È passato un po 'di tempo e lo ha confuso con thumbs.db

Prova invece questo per i file desktop.ini: Apri l'editor del registro e vai a: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer Cambia Usa il valore diDesktopIniCache su 0 (Aggiungi come valore DWORD se non esiste già.

Ecco un paio di collegamenti ai post di altri dove funzionava per loro. La maggior parte erano con vittorie 7 e 8 comunque.


Temo che non funzioni, scusa.
Neil Townsend,

Spiacenti, mi dispiace per quello. È passato un po 'di tempo e l'ho confuso con thumbs.db che ho aggiornato con una risoluzione che ho provato e sta funzionando per me. Provaci.
Thor

Grazie per aver provato, ma non funziona. Nessuno dei metodi di Windows 7/8 che ho scoperto lì funziona! Renderò la domanda più chiara.
Neil Townsend,

Capito, grazie per il controllo e mi dispiace che non abbia funzionato.
Thor

-2

È consigliabile non eliminare il file desktop.ini, poiché la cartella richiede che il file .ini sia eseguito correttamente. Un file Desktop.ini è un file che determina il modo in cui una cartella viene visualizzata da Windows. Se lo desideri, abilita la visualizzazione dei file nascosti e fai clic con il pulsante destro del mouse e premi Elimina per eliminare l'elemento.


4
Ho file nascosti visualizzabili tutto il tempo. Cancella regolarmente questo file e tutto funziona perfettamente. Ma dopo un po 'viene ricreato. Come per la domanda, voglio smettere di crearla. Come faccio a fare questo?
Neil Townsend,

1
La risposta è corretta È un file di sistema che esegue una funzione di sistema. Windows lo ricrea perché sa che dovrebbe averlo. Le tue soluzioni sono: nascondilo. Ignoralo. Petizione MS per cambiare radicalmente il sistema operativo nella prossima versione o smettere di usare Windows.
Linef4ult,

3
Anche se questa è la linea ufficiale deleting it may cause the folder to be problematicè anche fuorviante. Puoi nominare un effetto negativo se si elimina desktop.ini?
dxiv,

Ho fatto qualche ricerca in più, nessun effetto negativo, ma è meglio lasciarlo da solo.
Potatoman

-3

So che hai detto "impedisci che venga creato". Suppongo che sia perché vuoi che i file di sistema siano visibili e desktop.ini (e probabilmente thumbs.db) semplicemente non presenti. La seguente soluzione non impedisce che venga creata, ma nasconde i file di sistema solo sul desktop, non a livello di sistema. Forse sarebbe accettabile.

  • Seleziona "Desktop" in Esplora risorse
  • Fai clic sulla scheda "Visualizza"
  • Deseleziona "Elementi nascosti" in "Mostra / nascondi" nella barra multifunzione

Ho trovato questa soluzione qui: http://searchenterprisedesktop.techtarget.com/blog/Windows-Enterprise-Desktop/Settings-Reset-in-Windows-10-Reinforces-Desktopini-Trick


Tuttavia, nonostante ciò che dice l'articolo, ciò impedisce anche che gli oggetti nascosti siano visibili ovunque. È un interruttore a livello di sistema, almeno quando l'ho provato!
Neil Townsend,

@GollyRojer .. ha votato in negativo la tua "risposta" perché non hai compreso appieno il problema. Tutto quello che hai proposto è di NASCONDERE qualcosa, non effettivamente impedire al sistema operativo di crearli. Inoltre, il tuo suggerimento causa problemi a coloro che hanno preso provvedimenti esplicitamente per mostrare tutti i file. Nasconderli, è come spazzare un mucchio di terra sotto il tappeto. fuori dalla vista, ma lo sporco è ancora lì.
TG2,

TG2, hai mai letto il mio post? C'è una certa mancanza di comprensione qui, ma non è da parte mia.
GollyRojer
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.