是否有可能作为一个特定的用户没有签入选项“运行最高权限”在任务计划程序中运行CMD脚本?
简单testing:
echo success > D:\Admin\Scripts\TestScripts\out.txt
D:\Admin\Scripts\TestScripts\testscript.cmd
D:\Admin\Scripts\TestScripts
手动启动任务,并完成代码0x1。
如果我选中“以最高权限运行”选项,它会运行fune。 out.txt文件被创build。
当使用参数创build任务时,效果也是一样的:
cmd.exe
/c D:\Admin\Scripts\TestScripts\testscript.cmd
D:\Admin\Scripts\TestScripts
问题是:
这就是UAC的脚步。长话短说,您需要为给定用户提供对目标目录的写入权限,而不依赖于用户的Administrators组成员。
例如:如果当前目录的ACL是:
Administrators:(OI)(CI)(F) SYSTEM:(OI)(CI)(F) Authenticated Users:(OI)(CI)(RX)
…您需要添加直接的ACL条目,例如: 用户名 :(OI)(CI)(M)或用户所属组的ACL条目。
原因是,UAC正在阻止pipe理员组的成员身份发生任何影响,而没有事先提升。 这是devise。
我希望这是有道理的。
只要运行这些任务的(pipe理员)用户可以在正常的非提升命令提示符下执行相同的操作,它也应该通过任务计划程序工作。
您的pipe理员用户很可能需要提升才能在该目录中写入文件。 所以通过这个任务也是如此。
“以最高权限运行”只是告诉任务调度程序在执行命令之前先提升用户。
尝试在“用户”拥有写权限的目录中编写文件,它将在没有“最高权限”