¿Es posible que una tarea programada se ejecute como SERVICIO DE RED?

11

Es bastante simple configurar una tarea para que se ejecute como SISTEMA, pero cuando se configura en SERVICIO DE RED muestra el mensaje de error "Acceso denegado".

¿Hay alguna manera de hacer que esto funcione? (El problema es que no quiero crear un nuevo usuario de dominio para esa tarea y necesito acceder a un recurso compartido remoto desde esta tarea).

Regente
fuente

Respuestas:

13

Hice esta misma pregunta . Afortunadamente, RyanRies pudo proporcionar una respuesta correcta .

En Windows Server 2003 no puede ejecutar una tarea programada como NT AUTHORITY\NetworkService(también conocida como la cuenta del Servicio de red ). Esa capacidad solo se agregó con Task Scheduler 2.0, que solo existe en Windows Vista / Windows Server 2008.

Chatter de bonificación

  • LocalService Account es una cuenta integrada con privilegios limitados en la computadora local y accede a la red como anónima . Debe usar esta cuenta para ejecutar sus tareas programadas
  • NetworkService Account es una cuenta integrada con privilegios limitados en la computadora local y accede a la red como la máquina (por ejemploVADER$). Puede usar esta cuenta para ejecutar sus tareas programadas si necesita acceso de red autenticado
  • LocalSystem Account es una cuenta integrada con amplios privilegios en la computadora local. Usted debe no utilizar esta cuenta para ejecutar las tareas programadas
Ian Boyd
fuente
6

No puedes La funcionalidad se introdujo en Task Scheduler 2.0, que significa Vista / 2008 +.

De la documentación para Schtasks.exe:

/ RU nombre de usuario

Un valor que especifica el contexto del usuario en el que se ejecuta la tarea. Para la cuenta del sistema, los valores válidos son "", "NT AUTHORITY \ SYSTEM" o "SYSTEM". Para las tareas del Programador de tareas 2.0, "NT AUTHORITY \ LOCALSERVICE" y "NT AUTHORITY \ NETWORKSERVICE" también son valores válidos.

http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357(v=vs.85).aspx :

Ryan Ries
fuente
Es muy útil que el documento mencione específicamente el Programador de tareas 2.0. Elimina las conjeturas.
Ian Boyd
2

Intenté hacer esto de varias maneras, pero ahora no creo que sea posible. Yo estaría encantado de ser corregido en esto, pero he intentado todo lo que podía pensar, incluyendo la adición NETWORK SERVICEa Administrators, ajustar todo tipo de configuración de directiva de seguridad local, etc.

Cuando habilito la auditoría, obtengo esto:

Event Type:     Failure Audit
Event Source:   Security
Event Category: Account Logon 
Event ID:       680
Date:           02/03/2010
Time:           8:49:53 PM
User:           NT AUTHORITY\SYSTEM
Computer:       RESULTANT
Description:
Logon attempt by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
 Logon account:  NETWORK SERVICE
 Source Workstation: RESULTANT
 Error Code: 0xC0000064

Event Type:     Failure Audit
Event Source:   Security
Event Category: Logon/Logoff 
Event ID:       529
Date:           02/03/2010
Time:           8:49:53 PM
User:           NT AUTHORITY\SYSTEM
Computer:       RESULTANT
Description:
Logon Failure:
     Reason:        Unknown user name or bad password
     User Name:     NETWORK SERVICE
     Domain:        NT AUTHORITY
     Logon Type:    4
     Logon Process: Advapi  
     Authentication Package: Negotiate
     Workstation Name:       RESULTANT

0xC0000064decodifica a NO_SUCH_USER. Eso es un poco tonto, considerando que solo network serviceingresé, ¿cómo sabía que estaba en la cuenta que falló NT AUTHORITY?

Cuando ingreso un nombre de usuario no válido, ni siquiera veo el intento de autenticación. Entonces, claramente algo está de acuerdo en que NETWORK SERVICEes una cuenta real.

Si fallo la contraseña de un nombre de usuario conocido (es decir Administrator), obtengo 0xC000006A( STATUS_WRONG_PASSWORD).


Intenta agregar el Log on as a batch jobderecho a NETWORK SERVICE. Creo que es una idea tonta; solo debes morder la viñeta y crear una cuenta de dominio ...

fisión
fuente
Lo siento, escribí mal en mi comentario anterior a Matt, pero intenté agregarlo para "Iniciar sesión como un trabajo por lotes" y sin suerte.
Regente
0

Intente agregar el derecho "Iniciar sesión como servicio" a la cuenta de servicio de red. Instrucciones detalladas aquí.

Mate
fuente
No Ya figuraba en "Iniciar sesión como servicio", y agregar a "Iniciar sesión como servicio" tampoco ayudó.
Regente
0

¡Solo quiero revivir este hilo ya que ES posible usar el SERVICIO DE RED para las tareas! ¡Al menos en los servidores 2016 y 2019!

Solo un poco de rareza después de seleccionar la cuenta de la manera habitual. Debajo

Run whether user is logged on or not

Confusamente tiene que seleccionar:

Do not store the password. The task will only have access to local computer resources

¡La segunda parte de eso debe tomarse con una pala llena de sal! Lo que significa aquí es que no tiene credenciales , pero si ejecuta algo que no necesita que la cuenta tenga credenciales, ¡NO tiene acceso a la red!

Exportando un trabajo, la parte principal se ve así

  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-20</UserId>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>

Lo uso para enviar correos de estado a través de smtp, y se pone en contacto con el servidor smtp muy bien

Eske Rahn
fuente
-1

El servicio de red es una cuenta local (computadora). Por lo tanto, nunca tendrá derechos en otra computadora (donde reside el recurso compartido).

Si desea acceder a un recurso compartido en red, debe usar una cuenta que sea conocida en la red, así que use una cuenta domaina. Y el servicio que desea ejecutar DEBE admitir el direccionamiento UNC. Si necesita acceso de letra de unidad de red, necesita una sesión de usuario con unidades asignadas, de lo contrario, esto también fallará.

(Supongo que ya sabes esto, mirando la fecha de tu publicación. Mi respuesta es solo un extra para las personas que encontrarán esta publicación con un problema similar)

Kees

Kees Gortmaker
fuente
2
Cada computadora unida al dominio tiene su propia cuenta en el Directorio Activo. Y hasta donde yo entiendo NETWORK SERVICEes un alias local de esa cuenta, por lo tanto, podría tener acceso a algunos recursos compartidos.
Regente
1
NetworkService tendrá derechos en otra computadora. De MSDN : "Tiene privilegios mínimos en la computadora local y actúa como la computadora en la red".
Ian Boyd
Esta respuesta es incorrecta. Como también dice @IanBoyd, el SERVICIO DE RED está específicamente destinado a acceder a elementos en la red (es por eso que tiene "Red" en el nombre, en contraste con la cuenta de SERVICIO LOCAL) a la que accederá utilizando la identidad de dominio de la computadora, DOMINIO \ NOMBRE DE COMPUESTOR $, por ejemplo, PRINCIPAL \ WEBSRV2 $.
Nick Jones
Tampoco es una cuenta (local o de otro tipo). Es un conocido director de seguridad.
Falcon Momot