【问题标题】:Not enough permission to run typeperf.exe运行 typeperf.exe 的权限不足
【发布时间】:2014-06-16 06:07:28
【问题描述】:

我正在尝试使用 php 函数 exec() 运行 typeperf.exe;

这是命令(用于 cpu load % ) typeperf -sc 1 "processor(_Total)\% Processor Time"

当我通过命令提示符运行命令时,它会返回我想要的结果。

但是当通过 exec(); 调用它时 我得到了

于是我通过php跑了命令whoami来知道php用户是什么,

我收到了nt authority\iusr

所以我将用户名设置在前面提到的性能日志用户组中。 并在组中添加了everyone,因为这不起作用。

如何让 php 运行 typeperf.exe 命令?

【问题讨论】:

  • 当您尝试使用 system() 函数运行它时会发生什么?
  • 添加用户后是否重启过机器?

标签: php windows command-line permissions


【解决方案1】:

您提到它在使用命令提示符时确实有效。但即使使用命令提示符,您也需要以管理员身份启动它(Windows 8,可能是 7)。如果您没有收到相同的错误消息。

因此,也许您可​​以尝试禁用用户帐户控制以允许在没有特定管理员权限的情况下进行访问。请查看how-do-i-disable-administrator-prompt-in-windows-8 以获取一些提示。

还提到只有在使用帐户登录后才能更新权限。因此,您的更改很可能永远不会做任何事情,因为您从未使用“Everyone”或“IUSR”登录。

【讨论】:

  • 我如何使用 IUSR 登录才能重新加载权限?
  • 你不能。我想您最好的选择是创建一个新用户 IUSR_Special 并将其添加到 IIS_IUSRSPerformance Log User 组中。使用它登录一次,然后将您的网络服务器设置为使用此帐户。 IUSR 帐户是虚拟的,不能更改,它还添加到限制其权限的Guests 组。
  • 我试图将网站在 iis 中运行的用户更改为我的,但它仍然不起作用 iis 仍然说 nt autority iusr 并且当我让进程休眠(100)并进入任务管理器时我清楚地看到我的用户正在运行该过程。我不知道该怎么办了,哈哈。
  • 那么我的选择就用完了。您确实禁用了管理员提示符吗?没有它对我有用。您可以尝试创建一个单独的脚本来首先提升管理员级别:stackoverflow.com/questions/5944180/…
猜你喜欢
  • 2013-05-05
  • 2015-08-03
  • 1970-01-01
  • 2014-10-24
  • 2018-12-07
  • 2020-07-22
  • 2015-10-10
  • 2015-06-25
  • 1970-01-01
相关资源
最近更新 更多