Desativar a criação de desktop.ini no Windows 10 (na área de trabalho)

18

Eu gostaria de parar o arquivo 'desktop.ini' sendo criado no 'Desktop' da minha máquina windows 10. Fiz essa pergunta sepcifically sobre o Windows 10: Há uma pergunta sobre o mesmo problema no Windows 8 aqui , as soluções propostas aqui (e em outros lugares) para o Windows 7 e 8 não parecem funcionar.

Por favor, não há soluções ao longo das linhas de 'desabilitar a visualização de arquivos ocultos'. Minha pergunta específica é como parar o arquivo que está sendo criado na área de trabalho.

    
por Neil Townsend 28.11.2015 / 09:29

5 respostas

6

(Muito) Edição posterior: parece que esta solução não funciona mais no Windows10. Deixando a resposta aqui para referência.

Eu usei a solução encontrada aqui :

  • Press Win+R and enter regedit
  • Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
  • Edit / create new DWORD: UseDesktopIniCache with the data 0

Para mim, eu não tinha o valor, então tive que criá-lo. Após o reinício, ele criou automaticamente o valor em HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer

Executando o Windows 10 Build 14393.222

    
por 02.10.2016 / 18:31
1

Script atualizado. Verificado a funcionar e não aciona a caixa de diálogo de permissão.

Não é possível impedir que o Windows crie desktop.ini porque não é realmente o Windows que está fazendo isso. Algum outro serviço de terceiros está acionando a criação desse arquivo e, claramente, o Windows permite que, apesar de UseDesktopIniCache = 0.

Desktop.ini estava me enlouquecendo, então eu criei uma solução desorganizada. Observei que o arquivo desktop.ini é criado alguns segundos após a inicialização. Eu aproveitei isso. Usando o Agendador de Tarefas, desabilito temporariamente a permissão de gravação no Desktop após a inicialização. Isso impede que serviços de terceiros façam travessuras com a minha área de trabalho. Então, um minuto após a inicialização, outra tarefa restabelece a permissão de gravação no Desktop.

Aqui, compartilhei um conjunto de arquivos XML de amostra para o Agendador de Tarefas fazer o trabalho.

Esta versão do script desativa a herança

I have found inheritance to be too confusing therefore have disabled it for Desktop folder. You might add /inheritance:e somewhere in the second script if you really need it, but note that disabling inheritance a lossy process, therefore adding that line won't change everything back to where they were before. Desktop is not a system folder, therefore it shouldn't affect you regardless.

Este é para desativar a permissão de gravação na inicialização:

<?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>

Este é para restabelecer a permissão um minuto depois:

<?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>
      <UserId>spero_LAPTOP\spero</UserId>
      <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>

Por favor, note que a minha unidade de inicialização é um SSD, embora não seja muito rápido. Os horários podem variar dependendo da rapidez com que o seu SO inicializa.

Além disso, não é possível importar esses scripts diretamente devido à presença dos campos Autor e ID do usuário. Apenas tome nota de todos os parâmetros.

    
por 09.01.2018 / 14:12
-1

[resposta anterior eliminada] Opa, desculpe por isso. Já faz um tempo e ficou confuso com os polegares.db

Tente isso em vez dos arquivos desktop.ini: Abra o editor de registro e navegue para: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer Altere o valor UseDesktopIniCache para 0 (adicione-o como um valor DWORD, se ainda não existir.

Aqui estão alguns links para as postagens de outras pessoas em que ele estava trabalhando para eles. A maioria estava com o win 7 e 8 no entanto.

por 09.03.2016 / 00:02
-2

É melhor não excluir o arquivo desktop.ini, pois a pasta requer que o arquivo .ini seja executado corretamente. Um arquivo Desktop.ini é um arquivo que determina a maneira como uma pasta é exibida pelo Windows. Se você quiser, no entanto, ative a visualização de arquivos ocultos, clique com o botão direito do mouse e pressione delete para excluir o item.

    
por 28.11.2015 / 10:40
-3

Eu sei que você disse "pare de ser criado". Presumo que seja porque você deseja que os arquivos do sistema fiquem visíveis e o desktop.ini (e provavelmente o thumbs.db) simplesmente não esteja presente. A solução a seguir não impede que ela seja criada, mas oculta arquivos do sistema apenas na área de trabalho, não no sistema inteiro. Talvez isso seja aceitável.

  • Selecione "Área de trabalho" no Windows Explorer
  • Clique na guia "Visualizar"
  • Desmarque a opção "Itens ocultos" em "Mostrar / ocultar" na faixa de opções

Eu tenho esta solução aqui: link

    
por 08.06.2016 / 12:14