通过 exec() 在 windows 8.1 中以管理员权限执行批处理脚本

Muh*_*aid 4 php windows admin batch-file exec

我正在尝试使用 exec() 从 php 运行批处理文件,但它不起作用。当我在管理模式下的命令窗口中运行相同的脚本时,脚本会起作用。

现在我想知道如何在 php 中配置我的脚本可以在 ADMIN 模式下执行。

Har*_*nan 6

您可以使用RunAs 命令。由于它会询问管理员密码并且您正在从网络运行它,因此您应该将管理员密码通过管道传递给命令。

exec('echo adminpassword | runas /user:administrator fullPathToProgram',$output);
print_r($output);
Run Code Online (Sandbox Code Playgroud)

  • 将管理员密码嵌入到 PHP 脚本中是一种很好的被黑客入侵的方法。 (2认同)
  • @HarryJohnston 是的,当然......还使用 Windows 并启用危险的 php 函数,如 exec 是另一种被黑客入侵的好方法......:) (2认同)
  • @Steve,我认为通常您会希望使用提升的凭据运行 PHP 脚本,您是否可以这样做以及如何进行取决于具体情况。 (2认同)