假设一个程序已经以提升的权限运行,并且它需要查看 System Volume Information 文件夹的内容,并且默认情况下,只有 NT Authority\System 可以执行此操作。解决方法是更改文件夹上的 ACL,但我不想搞乱它。我已经找到了两种方法:任务调度程序和 psexec。它们太间接了,我什至不需要描述第一个,第二个的工作原理是安装 Windows 服务,运行它,告诉它运行我想运行的任何内容,然后卸载该服务。现在的问题是:是否有一个直接、简单的 WinAPI 函数来作为系统运行某些东西?我不认为这样的API会规避安全限制,作为管理员我有权安排任务或安装服务,所以必须有一个快捷方式。
更新:如果有一个实际的API专门告诉我系统卷信息的内容,那就完美了,不需要作为系统运行。
最佳答案
您不需要更改文件夹的 ACL。相反,您可以更改进程的 ACL。它是通过一组 Impersonate 函数完成的(例如 ImpersonateLoggedOnUser)
关于c - 一个直接、简单的 api 作为系统运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530181/