¿Puedes bloquear a los instaladores para que no hagan atajos en el escritorio?

8

He mantenido mi escritorio totalmente libre de atajos. Prefiero no tener que tomar medidas para hacerlo.

Rueda dentada
fuente

Respuestas:

0

No creo que pueda deshabilitar todos los programas para crear accesos directos, pero uso Fences .

Le permite agrupar iconos en el escritorio, pero lo más importante, cuando hace doble clic en el escritorio, oculta todos los elementos que no están en las cercas.

texto alternativo

thegreyspot
fuente
Fences es un programa pago.
user598527
4

No hay una configuración de sobrescritura que conozca que lo detenga, sin embargo, tiene tres opciones: una peligrosa, una que evita y otra segura.

Camino peligroso

Edite la configuración de seguridad en las siguientes carpetas: (suba una carpeta, haga clic derecho sobre ella y haga propiedades)

c:\users\<name>\Desktop

or

%userprofile%\Desktop

and

c:\users\default\Desktop

A continuación, vaya a la pestaña de seguridad y haga clic en editar. Desea poner la propiedad Denegar en Modificar y Escribir. Debe hacer esto solo para su usuario si el instalador se ejecuta bajo su usuario.

Esto tiene el inconveniente de que no puede crear iconos, pero debería funcionar.

Camino seguro

¡Simplemente elimine cualquier icono generado por una instalación!

Desvío

Haga clic derecho en cualquier lugar del escritorio donde no haya elementos. Expanda la opción de vista y desmarque "Mostrar iconos del escritorio" ... Esto, por supuesto, tiene el inconveniente de que no tendrá ningún icono, pero si esto es lo que está tratando de lograr, ¡no importa!

William Hilsum
fuente
4

Aquí hay una manera simple de usar Tareas Programadas, y no es necesario escribir scripts o programas personalizados.

Configuré una tarea programada para eliminar iconos. Es algo imperfecto, ya que se ejecuta periódicamente (y después de que se completa la instalación de MSI) pero funciona (y después de usarlo durante 6 meses: funciona bastante bien). Elimina los enlaces directamente en el escritorio del usuario actual y del perfil del usuario "Público", aunque esto, por supuesto, depende de tener permiso para hacerlo.


La tarea se crea de la siguiente manera:

  • Nombre: Eliminar accesos directos del escritorio
  • Corre con los más altos privilegios

Programador de tareas - General

  • Disparadores:
    • En un evento:
      • Iniciar sesión: Application
      • Fuente: MsiInstaller
      • ID del evento: 1042
    • Diario: 5am todos los días

Programador de tareas - Condiciones

  • Acción: iniciar un programa
    • Programa / script: cmd
    • Argumentos: /c for %f in (%userprofile%\Desktop\*.lnk %userprofile%\..\Public\Desktop\*.lnk) do del "%f"

Programador de tareas: acciones

  • Condiciones: ninguna

Programador de tareas - Condiciones


Aquí está la tarea, que puede guardar como un archivo .xml y luego importar en el Programador de tareas de 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
fuente
0

No sé si hay una manera de hacerlo dentro de Windows, pero sí sé que este código BÁSICO funcionará:

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

Esto elimina automáticamente todos los accesos directos en el escritorio.

De lo contrario, no conozco ninguna forma, excepto eliminarlos manualmente
(lo que de todos modos solo toma unos segundos).
Si realmente no quisiera hacer eso, usaría la "forma peligrosa" que @William sugiere

Nate Koppenhaver
fuente
Desafortunadamente, hay aplicaciones que recrean el icono del escritorio si se ha eliminado.
Dour High Arch
-1

Me doy cuenta de que esta pregunta tiene casi 7 años, pero como surgió en una búsqueda en la web, pensé en agregarla.

Si el sistema operativo es un servidor de Windows, puede usar el Administrador de recursos del servidor de archivos para crear pantallas de archivos específicas para ubicaciones específicas.

Pete
fuente
-1

Cambie los permisos en la carpeta Escritorio para evitar que alguien, incluidos usted (y los programas iniciados por usted, como los instaladores) escriban en el escritorio. La pregunta originalmente mencionaba "totalmente libre" de accesos directos, por lo que la Papelera de reciclaje y Mi PC también deberían estar ocultos.

Christopher Hostage
fuente