为什么远程启动脚本时WSH JScript子进程失败?

时间:2016-06-29 15:39:58

标签: windows amazon-web-services psexec

在Windows Server 2012 R2标准计算机(AWS EC2实例)上,我使用PsExec在类似的远程计算机上启动进程,提供用户凭据。该过程以各种方式失败,使我怀疑权限:两个AWS CLI命令失败,代码255(ses sendemail)或2(s3 cp),Excel拒绝保存文件,抱怨没有磁盘空间。

如果我使用相同的凭据登录到第二台计算机并运行相同的.bat文件来启动该进程,则它将按预期运行。该过程是WSH JScript,在cscript.exe下无形地运行,其输出重定向到文件。

我通过两种方法运行SET命令,以查看环境是否不同。有四个不同之处,其中没有一个看似相关:

  • 本地运行有CLIENTNAME = COMPAQ,远程没有该变量
  • local有SESSIONNAME变量(从mstsc运行),远程没有
  • TEMP和TMP在本地但不是远程附加了额外的子目录\ 3。两个版本都以在explorer中显示为只读的目录结束。
  • 本地路径包括C:\ USERS \ 用户名 \ .dnx \ bin但远程有%USERPROFILE%而不是用户名。在任何一种情况下都没有这样的目录。

今天我尝试了进程监视器(感谢@ GamerJ5提供了建议)并保存了本地运行成功和远程启动运行失败的所有Excel事件。过滤掉SUCCESS仍然会在每种情况下留下几千个结果,没有明显的线索可以说明许多失败中的哪一个可能很重要。

任何人都可以建议哪些类型的请求/结果可能值得进一步调查,或者我能看到的其他任何内容?

1 个答案:

答案 0 :(得分:0)

如果它对其他人有帮助:事实证明问题中有一个红色的鲱鱼;两个AWS命令的失败是Excel失败的间接后果。这是忽略微软“不要在服务器上运行Office”建议(https://support.microsoft.com/en-us/kb/257757)的结果,但我在另一篇文章(Microsoft Excel cannot access the file "...". There are several possible reasons Windows Server 2008 R2 with Microsoft Office 2010)上找到的建议解决方法适用于这种情况:创建Excel希望在Windows \ System32 \ config \ systemprofile \ Desktop中找到的目录。