首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HTA VBScript启动CMD Powercfg命令失败

从HTA VBScript启动CMD Powercfg命令失败
EN

Stack Overflow用户
提问于 2022-01-24 22:19:19
回答 1查看 153关注 0票数 1

我有以下HTA文件:

代码语言:javascript
复制
<html> 
<head> 
<title>test</title>
<SCRIPT Language="VBScript"> 
createobject("Shell.Application").ShellExecute "C:\windows\system32\cmd.exe", "/k powercfg /batteryreport", "", "runas", 1
</SCRIPT>
<body>
</body> 
</html>

当我运行它时,它会显示一个UAC提示符,其中包含“是”/“否”按钮,来自"Windows命令处理器“。单击“是”后,会打开一个命令提示符窗口,标题为"Administrator: C:\WINDOWS\SysWOW64\cmd.exe“。但是,命令失败,说明“无法加载电源效率诊断库(energy.dll)”

,我确信打开的命令窗口具有管理权限,原因如下:

它显示了一个打开CMD窗口的UAC框-- permissions

  • When命令应该使用提升的运行外部命令--在同一个命令窗口中运行以下命令:“成功”:net session >nul 2>&1 && echo Success || echo Failure。(此命令检查管理权限;我在对这篇文章的评论中发现:https://superuser.com/a/667745
  1. The标题中写着"Administrator:“在其中.

因此,,我想知道为什么这个命令不能工作,如果可能的话,我如何使它工作。

我注意到的另一件有趣的事情是,从该HTA文件中提取第5行(createobject("Shell.Application").ShellExecute "C:\windows\system32\cmd.exe", "/k powercfg /batteryreport", "", "runas", 1)并将其放入一个空白的.VBS文件实际上会导致不同的结果。使用此方法生成的命令窗口的标题不同("Administrator: C:\Windows\System32\cmd.exe"),由此产生的错误也不同。上面写着:

启用跟踪60秒..。观察系统行为..。无法打开电源效率诊断ETW会话。ETW会话已经在使用中。确保当前没有其他PowerCfg实例正在运行。

有没有人对这个问题有潜在的解释或解决办法?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-01-24 22:32:23

我相信我发现了这个问题。https://stackoverflow.com/a/10989048/18020746这个问题把我引向了正确的方向。

与上述链接应答状态一样,64位MSHTA不能运行32位文件(如powercfg.exe ).但是,当在命令提示符中键入START C:\Windows\System32\mshta.exe [path to the HTA file]通过32位版本的MSHTA运行HTA文件时,powercfg命令可以工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70841191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档