Czy możesz zablokować instalatorom tworzenie skrótów na pulpicie?

8

Trzymam swój pulpit całkowicie wolny od skrótów. Wolałbym nie podejmować żadnych działań.

Tryb
źródło

Odpowiedzi:

0

Nie sądzę, że można wyłączyć tworzenie skrótów przez wszystkie programy, ale używam Fences .

Pozwala grupować ikony na pulpicie, ale co najważniejsze, dwukrotne kliknięcie na pulpicie powoduje ukrycie wszystkich elementów, których nie ma w ogrodzeniu.

alternatywny tekst

thegreyspot
źródło
Płoty to program płatny.
user598527,
4

Wiem, że nie ma żadnego ustawienia nadpisywania, które to powstrzymuje, jednak masz trzy opcje - jedną niebezpieczną, drugą taką, która omija i jedną bezpieczną!

Niebezpieczny sposób

Edytuj ustawienia zabezpieczeń w następujących folderach: (Przejdź jeden folder w górę, kliknij go prawym przyciskiem myszy i wykonaj właściwości)

c:\users\<name>\Desktop

or

%userprofile%\Desktop

and

c:\users\default\Desktop

Następnie przejdź do karty bezpieczeństwa i kliknij edytuj. Chcesz umieścić właściwość Odmowa zarówno w trybie modyfikacji, jak i zapisu. Powinieneś to zrobić tylko dla swojego użytkownika, jeśli instalator działa pod nim.

Ma to tę wadę, że nie można tworzyć ikon, ale powinno działać.

Bezpieczna droga

Po prostu usuń dowolną ikonę wygenerowaną przez instalację!

Obwodnica

Kliknij prawym przyciskiem myszy w dowolnym miejscu na pulpicie, gdzie nie ma żadnych elementów. Rozwiń opcję widoku i odznacz „Pokaż ikony pulpitu” ... To oczywiście ma tę wadę, że nie będziesz mieć żadnych ikon - ale jeśli to właśnie próbujesz osiągnąć, to nie ma znaczenia!

William Hilsum
źródło
4

Oto prosty sposób korzystania z Zaplanowanych zadań i nie trzeba pisać niestandardowych skryptów ani programów.

Ustawiłem zaplanowane zadanie usuwania ikon. Jest nieco niedoskonały, ponieważ działa okresowo (i po zakończeniu instalacji MSI), ale działa (i po użyciu przez 6 miesięcy: działa całkiem dobrze). Usuwa linki bezpośrednio na pulpicie zarówno bieżącego użytkownika, jak i profilu użytkownika „Publicznego”, choć oczywiście zależy to od posiadania na to zgody.


Zadanie jest tworzone w następujący sposób:

  • Nazwa: Usuń skróty pulpitu
  • Uruchom z najwyższymi uprawnieniami

Harmonogram zadań - ogólne

  • Wyzwalacze:
    • Na zdarzeniu:
      • Log: Application
      • Źródło: MsiInstaller
      • Identyfikator zdarzenia: 1042
    • Codziennie: 5 rano każdego dnia

Harmonogram zadań - Warunki

  • Działanie: Uruchom program
    • Program / skrypt: cmd
    • Argumenty: /c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"

Harmonogram zadań - akcje

  • Warunki: brak

Harmonogram zadań - Warunki


Oto zadanie, które można zapisać jako plik .xml, a następnie zaimportować do Harmonogramu zadań systemu Windows:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2012-11-02T00:46:01.691625</Date>
    <Author>Gregmac</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Application"&gt;&lt;Select Path="Application"&gt;*[System[Provider[@Name='MsiInstaller'] and EventID=1042]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
    <CalendarTrigger>
      <StartBoundary>2012-11-02T05:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>Greg</UserId>
      <LogonType>InteractiveToken</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>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>cmd</Command>
      <Arguments>/c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"</Arguments>
    </Exec>
  </Actions>
</Task>
gregmac
źródło
0

Nie wiem, czy można to zrobić w systemie Windows, ale wiem, że ten kod BASIC będzie działał:

Kill("C:\Users\<name>\Desktop\*.lnk")

To automatycznie usuwa wszystkie skróty na pulpicie.

W przeciwnym razie nie znam żadnego sposobu oprócz ręcznego ich usunięcia
(co i tak zajmuje tylko kilka sekund)
Gdybym tak naprawdę nie chciał tego zrobić, użyłbym „Niebezpiecznego sposobu”, który sugeruje @William

Nate Koppenhaver
źródło
Niestety istnieją aplikacje, które odtwarzają ikonę pulpitu, jeśli została usunięta.
Dour High Arch
-1

Zdaję sobie sprawę, że to pytanie ma prawie 7 lat, ale odkąd pojawiło się podczas wyszukiwania w sieci, pomyślałem, że go dodam.

Jeśli system operacyjny to Windows Server, możesz użyć Menedżera zasobów serwera plików, aby utworzyć określone ekrany plików dla określonych lokalizacji.

Pete
źródło
-1

Zmień uprawnienia do folderu Desktop, aby uniemożliwić pisanie na pulpicie wszystkim osobom, w tym tobie (i programom przez ciebie uruchomionym, takim jak instalatory). Pytanie pierwotnie wspomniało „całkowicie wolne” od skrótów, dlatego Kosz i Mój komputer powinny być również ukryte.

Christopher Hostage
źródło