【问题标题】:Running a HTA file remotely using PSTools使用 PSTools 远程运行 HTA 文件
【发布时间】:2018-05-14 22:07:53
【问题描述】:

几乎可以肯定 HTA 文件已过时,但我发现它们比 net send / msg 要好得多。

我正在尝试使用 PSTools 在远程计算机上运行 HTA 文件,但它没有运行,而是返回了一个损坏的窗口:

使用 CMD(本地)运行 HTA 文件效果很好。

我的 PsExec 行:

PsExec.exe -accepteula -i -d \\itwall cmd 'mstha \\intranet\Downloads\VisitorSystemNewMessage.hta asd'

我什至尝试从批处理文件运行 HTA,但发生了完全相同的事情。

有什么想法吗?

【问题讨论】:

  • 我会尝试双引号,而不是单引号!我还会使用 /C 选项和 cmd
  • 没有什么不同,完全相同的事情:/
  • 使用 /C,hta 文件打开然后立即关闭..
  • -i-d 选项是违反直觉的,一个是交互式的,并且不等待应用程序终止(使用非交互式应用程序时)。为什么你认为你需要从cmd 运行mshta它是一个控制台应用程序/工具吗?
  • 我只是在快速谷歌搜索后才开始使用mshta,但它是否会运行并没有任何区别

标签: batch-file cmd hta psexec


【解决方案1】:

这是因为运行命令的账户无法与远程用户的会话交互。

使用-s 开关使用远程计算机的system 帐户运行HTA。

另外,您不需要运行cmd。你应该可以只指定mshta.exe 然后你的论点。

PsExec.exe -accepteula -s -i -d \\itwall mshta.exe \\intranet\Downloads\VisitorSystemNewMessage.hta asd

编辑:说明这不是 HTA 问题。运行以下命令:

PsExec.exe -accepteula -i -d \\itwall notepad.exe

请注意,您将看到相同的黑色窗口。

【讨论】:

  • 返回PsExec could not start mstha.exe on itwall: The system cannot find the file specified.
  • 删除 mstha.exe 后,您的回答解决了问题 :)
  • 我当前的working 命令是:PsExec.exe -accepteula -s -i -d \\itwall cmd /c \\intranet\downloads\VisitorSystemNewMessage.hta
  • 在我的示例中,我将mshta.exe 拼错为mstha.exe。我继续纠正拼写。
  • HTA 确实打开了,但只是白框。它似乎不会在其中运行任何代码。
猜你喜欢
  • 2013-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
相关资源
最近更新 更多