设置以系统身份运行的任务非常简单,但是当将其设置为网络服务时,它会显示“访问被拒绝”错误消息。
有什么办法可以使它工作吗?(问题是我不想为该任务创建新的域用户,而我需要从该任务访问远程共享。)
答案1
答案2
不能。该功能是在任务计划程序 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/en-us/library/windows/desktop/bb736357(v=vs.85).aspx:
答案3
我尝试了几种方法,但现在我认为这是不可能的。我很乐意接受纠正,但我尝试了所有我能想到的方法,包括添加NETWORK SERVICE
、Administrators
调整各种本地安全策略设置等。
当我启用审核时,我得到以下信息:
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
,我会得到0xC000006A
(STATUS_WRONG_PASSWORD
)。
尝试添加Log on as a batch job
权限NETWORK SERVICE
。我认为这是一个愚蠢的想法;你应该咬紧牙关,创建一个域帐户……
答案4
只是想恢复这个帖子是可以使用网络服务执行任务!至少在 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 服务器