
Según los comentarios en la respuesta aceptada aestePregunta, tengo problemas al ejecutar una tarea programada que llama shutdown.exe
, incluso cuando el usuario es administrador. Estoy administrando la máquina de otra persona usando su cuenta principal, por lo que no puedo cambiar demasiado porque a ellos les gustan las cosas tal como están.
Lo que es realmente extraño es que sólo puedo ejecutar la tarea si:
- El usuario es un administrador.
- Han definido una contraseña.
Por alguna extraña razón que desconozco, un usuario no sólo tiene que ser administrador, sino que tambiéndebetenga una contraseña en la cuenta para que se ejecute la tarea programada. De lo contrario, obtengo errores de acceso denegado y la tarea no se ejecuta.
¿Cómo puedo hacer que esto funcione sin tener que obligar al usuario a definir una contraseña para su cuenta?
Esencialmente, el objetivo restante es apagar la computadora (sin importar quién esté o no conectado) a las 11 p.m. todas las noches.
Me encuentro con los siguientes errores cuando intento configurar la tarea en el Scheduled Tasks
programa:
Se ha producido un error al intentar configurar la información de la cuenta de la tarea.
El error específico es:
0x8007005: acceso denegado.
No tiene permiso para realizar la operación solicitada.
Para que conste, aquí está mi política de seguridad, puede ver que mi usuario tiene permiso para forzar el apagado y apagar manualmente la computadora:
Respuesta1
La solución más sencilla sería configurar dicha tarea programada para que se ejecute con una cuenta de Administrador. Tú hacesnoDebe utilizar la misma cuenta que el usuario que suele iniciar sesión; simplemente proporcione credenciales diferentes al crear la tarea.
Si no desea que el "Administrador" tenga una contraseña, puede crear una cuenta dedicada sólo para la tarea programada. (Una cuenta de usuario limitada también funcionará si aplica la solución siguiente).
El shutdown.exe
programa necesitaPrivilegio de apagado remoto Secorrer, en lugar de lo habitualSeShutdownPrivilegio– Supongo que utiliza el mismo RPC para apagar máquinas locales y remotas. (Esto también explicaría la necesidad de una contraseña; de forma predeterminada, solo los inicios de sesión de la consola están exentos, lo que obviamente no incluye RPC).
puedes concederPrivilegio de apagado remoto Sea través secpol.msc
→Políticas locales→Asignación de derechos de usuario, editando la entrada "Forzar apagado desde sistema remoto".
- Puede crear una cuenta dedicada para la tarea y agregarla aquí (la mejor opción).
- Para que cualquier usuario pueda utilizar la línea de comandos interactiva, puede agregar
INTERACTIVE
. - Para tareas programadas por cualquier usuario, agregue
BATCH
.
Respuesta2
Esta es una solución más sencilla:
Si desea permitir que sólo se ejecuten usuarios locales %windir%\system32\shutdown.exe -s -t 0
, otorgue el permiso SeRemoteShutdownPrivilege
al grupo INTERACTIVE
. Sólo los usuarios locales son miembros de este grupo.
Cómo hacerlo: Ejecutar secpol.msc
. Abierto Security Settings \ Local Policies \ User Rights Assignment
. Haga doble clic Force shutdown from a remote system
en el panel derecho. Haga clic Add User or Group
. Ingrese el nombre INTERACTIVE
en el cuadro de texto y haga clic en Check names
, luego haga clic en OK
y OK
nuevamente.
Fuente: http://blogs.msdn.com/aaron_margosis/archive/2006/01/27/518214.aspx
Respuesta3
Veo que todavía estás intentando programar una tarea en una cuenta de administrador sin contraseña.
Confío en el hecho de que la única otra configuración que tiene que ver con contraseñas en blanco es "Limitar el uso de contraseñas en blanco en la cuenta local solo para iniciar sesión en la consola".
Prueba esa configuración. Está en Opciones de seguridad, justo debajo de las asignaciones de derechos de usuario.
Respuesta4
Existen algunas restricciones a la hora de crear tareas para cuentas con contraseñas en blanco.
Puede crear una tarea que ejecutará Shutdown.exe, pero deberá configurar la opción "No almacenar contraseña". Esto es en Windows 7 SP1, si está utilizando un sistema operativo diferente, háganoslo saber.
Para Windows XP, utilice la herramienta AT de línea de comando:
at 23:00 /every:monday,tuesday,wednesday,thursday,friday,saturday,sunday shutdown /s