如何解决TaskScheduler 是否能够在 NT AUTHORITY\SYSTEM 帐户中执行服务?
我有一个 Windows 服务,它在系统启动期间在 NT AUTHORITY\SYSTEM
(SERVICE_WIN32_OWN_PROCESS
) 帐户中运行。
现在我有一个疑问:
假设我想将自动执行的方式改为TaskScheduler。
TaskScheduler 会像以前一样正常执行我的服务,主要是在 NT AUTHORITY\SYSTEM
帐户中吗?
解决方法
TaskScheduler 不直接支持运行服务,但您可以使用命令行操作来指示 SCM 启动服务(即 NT AUTHORITY\SYSTEM
)。您可以使用任何想要运行该操作的帐户,但服务将使用的帐户是在服务自己的配置中指定的。 SCM 将简单地在已配置的任何帐户中运行该服务。如果未指定其他帐户,则默认为 d = {1: [5,6],3: [4],8: [2,3]}
def groups(v,seen = [],c = []):
if (k:=[i for a,b in d.items() for i in ({a,*b} if v in {a,*b} else []) if i not in {*seen,v}]):
for i in k:
yield from groups(i,seen=seen+[v],c = c+([v] if seen else []))
else:
yield c+[v]
r = {i:[*{j for k in groups(i) for j in k}] for a,b in d.items() for i in [a,*b]}
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。