计划任务是否可以作为网络服务运行?


11

设置任务以系统身份运行非常简单,但是将其设置为NETWORK SERVICE时会显示“访问被拒绝”错误消息。

有什么办法可以使它正常工作吗?(问题是,我不想为此任务创建新的域用户,而需要访问此任务的远程共享。)

Answers:


13

我问了同样的问题。幸运的是,RyanRies能够提供正确的答案

在Windows Server 2003中,您不能NT AUTHORITY\NetworkService(aka 网络服务帐户)身份运行预定任务。仅在Windows Vista / Windows Server 2008中存在的Task Scheduler 2.0中才添加了该功能。

奖金Chat不休

  • LocalService帐户是一个内置帐户,在本地计算机上具有有限的特权,并且可以匿名访问网络。您应该使用此帐户来运行计划的任务
  • NetworkService帐户是在本地计算机上具有有限特权的内置帐户,并且作为计算机(例如VADER$)访问网络。如果您需要经过身份验证的网络访问权限,则可以使用此帐户运行计划的任务
  • LocalSystem帐户是一个内置帐户,在本地计算机上具有广泛的特权。您永远不要使用此帐户运行计划的任务

6

你不能 该功能是在Task Scheduler 2.0(即Vista / 2008 +)中引入的。

从Schtasks.exe的文档中:

/ RU用户名

一个值,该值指定任务在其下运行的用户上下文。对于系统帐户,有效值为“”,“ NT AUTHORITY \ SYSTEM”或“ SYSTEM”。对于Task Scheduler 2.0任务,“ NT AUTHORITY \ LOCALSERVICE”和“ NT AUTHORITY \ NETWORKSERVICE”也是有效值。

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


该文档特别提到Task Scheduler 2.0 很有帮助。它消除了猜测。
伊恩·博伊德

2

我尝试了几种方法,但是现在我认为这是不可能的。我很高兴在这指正,但我什么都试过了我能想到的,包括添加NETWORK SERVICEAdministrators,调整各种本地安全策略设置等。

启用审核后,我得到以下信息:

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

0xC0000064解码为NO_SUCH_USER。考虑到我只是输入,这有点愚蠢network service–它怎么知道失败的帐户是在NT AUTHORITY

输入无效的用户名时,我什至看不到身份验证尝试。显然,有人同意这NETWORK SERVICE是实际的说法。

如果我为已知的用户名(例如Administrator)输入密码,则会得到0xC000006ASTATUS_WRONG_PASSWORD)。


尝试为添加Log on as a batch job权限NETWORK SERVICE。我认为这是一个愚蠢的想法;您应该硬着头皮创建一个域帐户...


抱歉,我在先前对Matt的评论中输入了错误的内容,但是我尝试将其添加为“以批处理身份登录”,但没有运气。
摄政王2010年

0

尝试将“作为服务登录”权限添加到网络服务帐户。详细说明在这里。


不。它已经在“作为服务登录”中列出,并且添加到“作为服务登录”也没有帮助。
摄政王

0

只是想复兴这个线程 IS可以使用网络服务的任务!至少在Server 2016和2019上都是如此!

按常规方式选择帐户后,有些奇怪。下

Run whether user is logged on or not

您不得不选择:

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

第二部分应该用充满盐的铲子服用!这意味着您没有凭证,但是如果您运行不需要该帐户具有凭据的内容,则它确实可以访问网络!

导出作业,主要部分是这样的

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

我用它通过smtp发送状态邮件,并且它可以和smtp服务器联系


-1

网络服务是本地(计算机)帐户。因此,它将永远不会在共享所在的另一台计算机上拥有权限。

如果要访问网络共享,则必须使用网络中已知的帐户,因此请使用domainaccount。您要运行的服务必须支持UNC寻址。如果需要网络驱动器号访问,则需要与映射驱动器进行用户会话,否则这也将失败。

(我想您已经知道了,查看您的帖子的日期。对于那些会发现类似问题的人,我的回答只是一个额外的答案)

基斯


2
加入域的每台计算机在Active Directory中都有其自己的帐户。据我了解NETWORK SERVICE,该帐户是本地别名,因此它可能可以访问某些共享。
Regent

1
NetworkService 在另一台计算机上拥有权限。来自MSDN“它在本地计算机上具有最低特权,并且充当网络上的计算机。”
伊恩·博伊德

这个答案是不正确的。就像@IanBoyd也说的那样,NETWORK SERVICE是专门用于访问网络上的项目的(这就是为什么它与本地服务帐户相比名称为“ Network”的原因),它将使用计算机的域标识DOMAIN \ COMPUTERNAME进行访问$,例如MAIN \ WEBSRV2 $。
尼克·琼斯

这也不是一个帐户(本地或其他帐户)。这是一个著名的安全主体。
Falcon Momot 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.