Powershell PsExec在第二次呼叫时无法连接

Powershell PsExec在第二次呼叫时无法连接,powershell,remote-access,psexec,Powershell,Remote Access,Psexec,我在使用psexec从机器B连接到远程机器A时遇到问题 PsExec v1.98 - Execute processes remotely Copyright (C) 2001-2010 Mark Russinovich Sysinternals - www.sysinternals.com The handle is invalid. Connecting to <server>... Couldn't access <server>: PsExec v1.98-远

我在使用psexec从机器B连接到远程机器A时遇到问题

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

The handle is invalid.
Connecting to <server>...
Couldn't access <server>:
PsExec v1.98-远程执行进程
版权所有(C)2001-2010 Mark Russinovich
Sysinternals-www.Sysinternals.com
句柄无效。
正在连接到。。。
无法访问:
让我困惑的是,就在这之前,我们有一个从机器B到机器a的脚本调用,它工作得很好。(这是通过powershell脚本完成的,如果相关的话)

这是第一个电话(有效)

&psexec\\\$computer\u name-u/-p'-w''2
这是第二次调用(直接在第一次调用之后执行)

&psexec\\\$computer\u name-u/-p'-w''1
当我从另一台机器上运行脚本的这一部分时(机器C指向机器A),我可以让它工作,这让我觉得这两台机器不太可能互相干扰。我一直在寻找一种方法来断开psexec与计算机的连接,但我什么也没找到,所以我不确定是否有办法

我在superuser上找到一个答案,建议它可能受到会话的限制,但我检查后发现只有一个连接处于活动状态


如果有人能帮我找出问题所在,我将不胜感激。

我刚刚遇到了这个问题,我找到了解决问题的方法

如果它们与第一次呼叫中的相同,请尝试从第二次呼叫中删除帐户凭据。然后,您的呼叫将如下所示:

第一:
&psexec\\$computer\u name-u“域/用户”-p“通过”-w“文件夹”“程序1”2

第二:

&psexec\\$computer\u name-w“folder”“program1”1

我也遇到了这个问题。我的解决方案是将所有远程命令放在批处理文件
PSEXEC\u commands.cmd
中,然后只运行一次
PSEXEC

PsExec \\<computer> <options> -c PSEXEC_COMMANDS.cmd <arguments>
PsExec\\-c PsExec_COMMANDS.cmd
  • PsExec作者提供的关于
    -c
    开关的更多信息: [一] 如果它是要在远程系统上执行的本地系统上的可执行文件,请指定-c开关和文件的本地路径。c开关指示PsExec将指定的可执行文件复制到远程系统以执行,并在程序完成运行后从远程系统删除该可执行文件


  • 如果您确认此解决方案有效,请在您的答案中添加一些细节,并对其进行清理,使其更“回答”。已编辑。我是新来的,所以请原谅我。谢谢!这为我们解决了问题。我们能够执行这两个命令。
    & psexec \\$computer_name -u "<domain>/<user>" -p "<pass>" -w "<folder>" "<program1>" 1
    
    PsExec \\<computer> <options> -c PSEXEC_COMMANDS.cmd <arguments>