Parece una tarea sencilla pero ninguna de mis soluciones ha funcionado. Dominio AD normal con usuarios habituales. Usamos servidores de terminal con perfiles no móviles para que todo se almacene en el disco TS. Queremos vaciar su carpeta de descargas al iniciar sesión porque nunca lo hacen ellos mismos y estamos cansados de que los discos se llenen.
Entonces, naturalmente, hago un script de PowerShell simple y creo un GPO para ejecutarlo al iniciar sesión. El problema es que el script ps requería elevación y los scripts de inicio de sesión se ejecutan en el nivel de permiso de ese usuario y no se pueden elevar.
Aquí está la línea de PS:
Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force
Funciona muy bien si lo ejecuta manualmente desde una instancia elevada de PowerShell.
Ok, entonces no hay GPO. El siguiente pensamiento es crear una tarea programada en cada servidor terminal y ejecutarla con una cuenta de servicio que tenga privilegios de administrador.
El problema es que no funciona vaciar la carpeta de descargas de cada usuario... sólo la de la cuenta de servicio.
Entonces, no quiero escribir estáticamente la ruta de la carpeta de descarga de todos y cada uno de los usuarios en el archivo .ps1, porque obviamente eso sería una pesadilla de administración.
Entonces alguien sabe:
- Una forma de vaciar la carpeta de descarga al iniciar sesión el usuario a través de un GPO sin ejecutar un script para hacerlo. o
- Una forma de mejorar el script para buscar recursivamente en la carpeta de cada usuario, encontrar la carpeta de descargas y vaciarla... sin tener que especificar el nombre de cada usuario.
¿Cómo se puede hacer esto fácilmente? Gracias
Respuesta1
Su problema con ese script de inicio de sesión de usuario es que estaba intentando eliminar TODOS los contenidos de descarga de los usuarios, si ese es el comando que estaba usando.
Seguramente quieres eliminar las Descargas de cada usuario específico. Entonces, si Descargas está en su directorio de perfil:
Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse
Es posible que deba firmar su script o configurarlo -ExecutionPolicy Bypass
según la política de ejecución que tenga para Powershell. Hay muchos consejos sobre cómo ejecutar Powershell en un script de inicio de sesión.
Si lo está haciendo en un archivo por lotes antiguo, es simplemente:
rd /s /q %USERPROFILE%\Downloads\*
del /q %USERPROFILE%\Downloads\*.*