Wyłącz tworzenie pliku desktop.ini w Windows 10 (na pulpicie)


25

Chciałbym zatrzymać „desktop.ini” plik tworzony na pulpicie „” z moich okien 10 maszyn. Poprosiłem to pytanie sepcifically o systemie Windows 10: Nie ma mowy o tym samym numerze na Windows 8 tutaj , rozwiązania proponowane tam (i gdzie indziej) dla systemu Windows 7 i 8 nie wydają się działać.

Proszę, nie ma rozwiązań w stylu „wyłącz przeglądanie ukrytych plików”. Moje konkretne pytanie dotyczy tego, jak zatrzymać tworzenie pliku na pulpicie.


Czy UseDesktopIniCache=0(z odpowiedzi na stronie superuser.com/a/650431/523828 ) nie działa w systemie Windows 10?
dxiv

@dxiv Boję się, że to nie działa.
Neil Townsend

Zakładam, że dokonałeś / zweryfikowałeś zmianę zarówno w Software jak i Software \ Wow6432Node, i że później zrestartowałeś się.
dxiv

@dxiv Tak ... obawiam się, że ...
Neil Townsend

Dzięki za kontynuację. Jeszcze jedna rzecz do wypróbowania, kiedy nadejdzie mój czas „10”.
dxiv

Odpowiedzi:


7

(Dużo) Późniejsza edycja: Wygląda na to, że to rozwiązanie nie działa już w systemie Windows 10. Pozostawiając odpowiedź tutaj w celach informacyjnych.


Użyłem rozwiązania znalezionego tutaj :

  • Naciśnij Win+Ri wprowadźregedit
  • Nawigować do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
  • Edytuj / utwórz nowy DWORD: UseDesktopIniCachez danymi0

Dla mnie nie miałem wartości, więc musiałem ją stworzyć. Po ponownym uruchomieniu automatycznie utworzył wartość wHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Policies\Explorer

Z systemem Windows 10 kompilacja 14393.222


Przeczytaj Jak odwoływać się do materiałów napisanych przez innych . Powinieneś zablokować tekst cytatu napisany przez kogoś innego. Zobacz pomoc Markdown . Tym razem naprawiłem to, ale proszę, zwróć uwagę na to w przyszłości.
DavidPostill

2
Cześć, obawiam się, że to nie działa w moim systemie Windows 10, na którym działa najnowsza wersja 10. Ale dziękuję za próbę, doceń to.
Neil Townsend

1

Zaktualizowany skrypt. Zweryfikowano działanie i nie uruchamia okna dialogowego uprawnień.


Nie można uniemożliwić Windowsowi utworzenia pliku desktop.ini, ponieważ tak naprawdę to nie Windows to robi. Niektóre inne usługi zewnętrzne powodują utworzenie tego pliku i oczywiście Windows na to pozwala, mimo UseDesktopIniCache = 0.

Desktop.ini doprowadzał mnie do szaleństwa, więc wymyśliłem rozwiązanie typu ragtag. Zauważyłem, że plik desktop.ini zostaje utworzony kilka sekund po uruchomieniu. Skorzystałem z tego. Korzystając z Harmonogramu zadań, tymczasowo wyłączam uprawnienia do zapisu na pulpicie podczas uruchamiania. To powstrzymuje usługi innych firm przed wykonywaniem shenaniganów na moim pulpicie. Następnie minutę po uruchomieniu inne zadanie przywraca uprawnienia do zapisu na pulpicie.

Tutaj udostępniłem zestaw przykładowych plików XML dla Task Scheduler do wykonania zadania.

Ta wersja skryptu wyłącza dziedziczenie

Stwierdziłem, że dziedziczenie jest zbyt mylące, dlatego wyłączyłem go dla folderu Desktop. Możesz dodać / dziedziczenie: e gdzieś w drugim skrypcie, jeśli naprawdę tego potrzebujesz, ale pamiętaj, że wyłączenie dziedziczenia jest procesem stratnym, dlatego dodanie tej linii nie zmieni wszystkiego z powrotem tam, gdzie były wcześniej. Pulpit nie jest folderem systemowym, dlatego nie powinien mieć na ciebie wpływu.

Ten służy do wyłączania uprawnień do zapisu podczas rozruchu:

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

Ten służy do przywrócenia uprawnienia minutę później:

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

Pamiętaj, że mój napęd rozruchowy to dysk SSD, choć niezbyt szybki. Czasy mogą się różnić w zależności od szybkości uruchamiania systemu operacyjnego.

Nie można również importować tych skryptów bezpośrednio ze względu na obecność pól Autor i Identyfikator użytkownika. Po prostu zanotuj wszystkie parametry.


Aktualizacja: po dłuższym użyciu powyższego rozwiązania i zmaganiu się z tysiącem wiadomości „Obecnie nie masz uprawnień dostępu do tego folderu”, które okazały się bardziej kłopotliwe niż pliki desktop.ini, teraz polecam zmieniając komendę na ICACLS „C: \ Users \ Spero \ Desktop” / deny „Administrators” :( WD). Zaktualizowałem odpowiednio powyższy skrypt.
Spero,

-1

[Usunięte wcześniejsze odpowiedzi] Ups, przepraszam za to. Minęło trochę czasu i mylono go z thumbs.db

Wypróbuj to zamiast tego w przypadku plików desktop.ini: Otwórz edytor rejestru i przejdź do: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer Zmień wartość UseDesktopIniCache na 0 (Dodaj ją jako wartość DWORD, jeśli jeszcze nie istnieje.

Oto kilka linków do postów innych osób, w których to działało. Większość jednak wygrała 7 i 8.


Obawiam się, że to nie działa, przepraszam.
Neil Townsend,

Ups, przepraszam za to. Minęło trochę czasu i pomyliłem go z thumbs.db Zaktualizowałem rozdzielczość, którą próbowałem i działa dla mnie. Spróbuj.
Thor

Dzięki za próbę, ale to nie działa. Żadna z metod Windows 7/8, które tam znalazłem, nie działa! Sprawię, że pytanie będzie jaśniejsze.
Neil Townsend,

Zrozumiałem, dziękuję za sprawdzenie i przepraszam, że nie zadziałało.
Thor

-2

Najlepiej nie usuwać pliku desktop.ini, ponieważ folder wymaga poprawnego działania pliku .ini. Plik Desktop.ini to plik, który określa sposób wyświetlania folderu w systemie Windows. Jeśli chcesz, włącz widok ukrytych plików, kliknij prawym przyciskiem myszy i naciśnij klawisz Delete, aby usunąć element.


4
Cały czas mam ukryte pliki. Regularnie usuwam ten plik i wszystko działa dobrze. Ale po pewnym czasie jest on ponownie tworzony. Zgodnie z pytaniem chcę go zatrzymać. Jak mam to zrobic?
Neil Townsend

1
Odpowiedź jest poprawna. Jest to plik systemowy pełniący funkcję systemową. System Windows tworzy go ponownie, ponieważ wie, że powinien go mieć. Twoje rozwiązania to: Ukryj. Zignoruj ​​to. Petycja do MS o radykalną zmianę systemu operacyjnego w następnej wersji lub zaprzestanie używania Windows.
Linef4ult

3
Chociaż jest to oficjalna linia deleting it may cause the folder to be problematic, jest także myląca. Czy możesz wymienić jeden zły efekt, jeśli usuwasz plik desktop.ini?
dxiv

Zrobiłem więcej badań, żadnych złych skutków, ale najlepiej zostawić to w spokoju.
potatoman

-3

Wiem, że powiedziałeś „przestań tworzyć”. Zakładam, że dzieje się tak dlatego, że chcesz, aby pliki systemowe były widoczne, a plik desktop.ini (i prawdopodobnie thumbs.db) po prostu nie był obecny. Poniższe rozwiązanie nie powstrzymuje go przed utworzeniem, ale ukrywa pliki systemowe tylko na pulpicie, a nie w całym systemie. Być może byłoby to do przyjęcia.

  • Wybierz „Pulpit” w Eksploratorze Windows
  • Kliknij kartę „Widok”
  • Odznacz „Ukryte przedmioty” w „Pokaż / ukryj” na wstążce

Mam to rozwiązanie tutaj: http://searchenterpresentesktop.techtarget.com/blog/Windows-Enterprise-Desktop/Settings-Reset-in-Windows-10-Reinforces-Desktopini-Trick


Jednak pomimo tego, co mówi ten artykuł, to również ukrywa ukryte przedmioty przed widocznością wszędzie. Jest to przełącznik systemowy, przynajmniej kiedy go wypróbowałem!
Neil Townsend

@GollyRojer .. obniżyło twoją „odpowiedź”, ponieważ nie w pełni rozumiesz problem. Wszystko, co zaproponowałeś, to UKRYĆ coś, a nie powstrzymać tworzenie systemu operacyjnego. Ponadto twoja sugestia powoduje problemy dla tych, którzy podjęli kroki, aby pokazać wszystkie pliki. Ukrywanie ich przypomina zamiatanie stosu ziemi pod dywanem. poza zasięgiem wzroku, ale brud wciąż tam jest.
TG2

TG2, czy w ogóle przeczytałeś mój post? Trwa tutaj pewien brak zrozumienia, ale to nie z mojej strony.
GollyRojer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.