É possível que uma tarefa agendada seja executada como SERVIÇO DE REDE?

11

É muito simples configurar uma tarefa para ser executada como um sistema, mas ao configurá-la como SERVIÇO DE REDE, é exibida a mensagem de erro "Acesso negado".

Existe alguma maneira de fazer isso funcionar? (O problema é que não quero criar um novo usuário de domínio para essa tarefa e preciso acessar um compartilhamento remoto a partir dessa tarefa.)

Regente
fonte

Respostas:

13

Eu fiz essa mesma pergunta . Felizmente, RyanRies foi capaz de fornecer uma resposta correta .

No Windows Server 2003, você não pode executar uma tarefa agendada como NT AUTHORITY\NetworkService(também conhecida como conta de Serviço de Rede ). Esse recurso foi adicionado apenas ao Agendador de Tarefas 2.0, que existe apenas no Windows Vista / Windows Server 2008.

Bônus Chatter

  • A conta LocalService é uma conta interna com privilégios limitados no computador local e acessa a rede como anônima . Você deve usar esta conta para executar suas tarefas agendadas
  • A conta NetworkService é uma conta interna com privilégios limitados no computador local e acessa a rede como a máquina (por exemploVADER$). Você pode usar esta conta para executar suas tarefas agendadas se precisar de acesso à rede autenticado
  • A conta LocalSystem é uma conta interna com amplos privilégios no computador local. Você nunca deveusar esta conta para executar tarefas agendadas
Ian Boyd
fonte
6

Você não pode. A funcionalidade foi introduzida no Agendador de tarefas 2.0, o que significa Vista / 2008 +.

Na documentação do Schtasks.exe:

/ RU nome de usuário

Um valor que especifica o contexto do usuário sob o qual a tarefa é executada. Para a conta do sistema, os valores válidos são "", "NT AUTHORITY \ SYSTEM" ou "SYSTEM". Para tarefas do Agendador de tarefas 2.0, "NT AUTHORITY \ LOCALSERVICE" e "NT AUTHORITY \ NETWORKSERVICE" também são valores válidos.

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

Ryan Ries
fonte
É muito útil que os documentos mencionem especificamente o Agendador de tarefas 2.0. Elimina as suposições.
Ian Boyd
2

Eu tentei fazer isso de várias maneiras, mas agora não acho que seja possível. Eu ficaria feliz em corrigir isso, mas tentei tudo o que consegui pensar, incluindo adicionar NETWORK SERVICEa Administrators, ajustar todos os tipos de configurações da Política de Segurança Local, etc.

Quando habilito a auditoria, recebo o seguinte:

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 para NO_SUCH_USER. Isso é um pouco bobo, considerando que eu entrei apenas network service- como sabia que a conta que falhou estava dentro NT AUTHORITY?

Quando insiro um nome de usuário inválido, nem vejo a tentativa de autenticação. Então, claramente, algo concorda que NETWORK SERVICEé uma conta real.

Se eu danifico a senha para um nome de usuário conhecido (ou seja Administrator), recebo 0xC000006A( STATUS_WRONG_PASSWORD).


Tente adicionar o Log on as a batch jobdireito de NETWORK SERVICE. Eu acho que é uma ideia boba; você deve apenas morder a bala e criar uma conta de domínio ...

fissão
fonte
Desculpe, eu digitei meu comentário anterior com Matt, mas tentei adicioná-lo para "Fazer logon como um trabalho em lotes" e sem sorte.
Regent
0

Tente adicionar o direito "Fazer logon como serviço" à conta de serviço de rede. Instruções detalhadas aqui.

Matt
fonte
Não. Ele já estava listado em "Efetuar logon como serviço" e a adição a "Efetuar logon como serviço" também não ajudou.
Regent
0

Só quero reviver esse tópico, pois é possível usar o SERVIÇO DE REDE para tarefas! Pelo menos no Server 2016 e 2019!

Apenas um pouco de estranheza depois de selecionar a conta da maneira usual. Debaixo

Run whether user is logged on or not

Você precisa selecionar:

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

A segunda parte disso deve ser tomada com uma pá cheia de sal! Como o que significa aqui é que você não tem credenciais , mas se você executar algo que não precisa da conta para ter credenciais, ele terá acesso à rede!

Exportando um trabalho, a parte principal se parece com isso

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

Eu o uso para enviar e-mails de status através do smtp, e ele entra em contato com o servidor smtp muito bem

Eske Rahn
fonte
-1

Serviço de rede é uma conta local (computador). Portanto, nunca terá direitos em outro computador (onde o compartilhamento reside).

Se você quiser acessar um compartilhamento em rede, precisará usar uma conta conhecida na rede, portanto, use uma conta de domínio. E o serviço que você deseja executar DEVE suportar o endereçamento UNC. Se precisar de acesso à letra da unidade de rede, você precisará de uma sessão do usuário com unidades mapeadas; caso contrário, isso também falhará.

(Suponho que você já saiba disso, consultando a data da sua postagem. Minha resposta é apenas um extra para as pessoas que encontrarão essa postagem com um problema semelhante)

Kees

Kees Gortmaker
fonte
2
Cada computador ingressado no domínio tem sua própria conta no Active Directory. E, pelo que entendi, NETWORK SERVICEé um alias local para essa conta, portanto, ele pode ter acesso a alguns compartilhamentos.
Regent
1
O NetworkService terá direitos em outro computador. No MSDN : "Ele possui privilégios mínimos no computador local e atua como o computador na rede".
22812 Ian Boyd
Esta resposta está incorreta. Como o @IanBoyd também diz, o NETWORK SERVICE destina-se especificamente ao acesso a itens na rede (é por isso que possui "Network" no nome, em contraste com a conta LOCAL SERVICE), à qual ele acessará usando a identidade de domínio do computador, DOMAIN \ COMPUTERNAME $, por exemplo, MAIN \ WEBSRV2 $.
21713 Nick Jones
Também não é uma conta (local ou não). É um conhecido diretor de segurança.
Falcon Momot,