是否可以授予非特权用户对 SYSTEM 任务的只读权限?

是否可以授予非特权用户对 SYSTEM 任务的只读权限?

我有一个必须以系统帐户身份运行的计划任务,但我想允许非特权用户查看它。

具体来说,我希望用户能够查看/获取特定任务的上次运行时间和状态。显然,他们需要知道名称/位置。他们不应该对此有任何控制权,也没有理由需要查看所有计划任务或甚至此任务的其他属性(尽管这样做也可以)。

这可能吗?如果可以,怎么做?

如果不是,原因可能是什么?这似乎不是一个安全风险。

谢谢。

答案1

解决方案是授予文件夹中任务文件的读取权限%SystemRoot%\System32\Tasks。这可以通过 GUI 以管理员身份完成,但我使用以 SYSTEM(或管理员)身份运行的 PowerShell 脚本来完成:

$TaskFile = Join-Path $env:SystemRoot "System32\Tasks\$TaskName"
if (Test-Path $TaskFile) {
   $Acl = get-acl -Path $TaskFile
   $rule = New-Object -TypeName system.security.accesscontrol.filesystemaccessrule -ArgumentList ('Authenticated Users','Read','Allow')
   $Acl.setaccessrule($rule)
   set-acl -Path $TaskFile -AclObject $Acl
}

希望这对某人有帮助。

相关内容