Pouvez-vous empêcher les installateurs de raccourcir le bureau?

J'ai gardé mon bureau totalement gratuit contre les raccourcis. Je préfère ne pas avoir à agir pour le faire.

Je ne pense pas que vous pouvez désactiver tous les programmes de la création de raccourcis, mais j'utilise des clôtures .

Il vous permet de grouper des icônes sur le bureau, mais surtout, lorsque vous double-cliquez sur le bureau, il masque tout l'élément qui n'est pas dans les clôtures.

Texte alt

Il n'y a pas de réglage d'écrasement, je sais que cela l'arrête, mais vous avez trois options: une dangereuse, une sorte de contournement et un coffre-fort!

Manière dangereuse

Modifiez les paramètres de sécurité sur les dossiers suivants: (Passez un dossier vers le haut, faites un clic droit dessus et faites des propriétés)

c:\users\<name>\Desktop or %userprofile%\Desktop and c:\users\default\Desktop 

Ensuite, accédez à l'onglet Sécurité et cliquez sur Modifier. Vous souhaitez mettre la propriété Deny sur Modify and Write. Vous devez le faire uniquement pour votre utilisateur si le programme d'installation s'exécute sous votre utilisateur.

Cela a l'inconvénient que vous ne pouvez pas créer d'icônes, mais cela devrait fonctionner.

Moyen sûr

Il suffit de supprimer toute icône générée par une installation!

Mode bypass

Faites un clic droit n'importe où sur le bureau où il n'y a pas d'objets. Développez l'option de visualisation et décochez "Afficher les icônes de bureau" … Bien sûr, vous avez l'inconvénient de ne pas disposer d'icônes, mais si c'est ce que vous essayez d'atteindre, cela n'a pas d'importance!

Voici un moyen simple d'utiliser les tâches planifiées, et il n'est pas nécessaire d'écrire des scripts ou des programmes personnalisés.

J'ai configuré une tâche planifiée pour supprimer les icônes. C'est quelque peu imparfait, car il s'exécute périodiquement (et après l'installation de MSI), mais cela fonctionne (et après l'avoir utilisé pendant 6 mois: cela fonctionne très bien). Il supprime les liens directement sur le bureau de l'utilisateur actuel et le profil de l'utilisateur "Public", bien que cela dépend bien de l'autorisation de le faire.


La tâche est créée comme suit:

  • Nom: Supprimez les raccourcis de bureau
  • Exécutez avec les privilèges les plus élevés

Planificateur de tâches - Général

  • Déclencheurs:
    • Lors d'un événement:
      • Journal: Application
      • Source: MsiInstaller
      • ID de l'événement: 1042
    • Tous les jours: 5 heures par jour

Planificateur de tâches - Conditions

  • Action: démarrer un programme
    • Programme / script: cmd
    • Arguments: /c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"

Planificateur de tâches - Actions

  • Conditions: aucune

Planificateur de tâches - Conditions


Voici la tâche, que vous pouvez enregistrer en tant que fichier .xml, puis importer dans le Planificateur de tâches 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> 

Je ne sais pas s'il y a un moyen de le faire dans Windows, mais je sais que ce code BASIC fonctionnera:

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

Cela supprime automatiquement tous les raccourcis sur le bureau.

Sinon, je ne connais aucun autre moyen que de les supprimer manuellement
(Qui prend seulement quelques secondes de toute façon)
Si je ne voulais vraiment pas le faire, j'utiliserais la "voie dangereuse" que Twitter @William suggère