Powershell 从计算机1远程连接到计算机2时,远程连接在计算机2上找不到文件

Powershell 从计算机1远程连接到计算机2时,远程连接在计算机2上找不到文件,powershell,powershell-remoting,Powershell,Powershell Remoting,我正在编写一个PowerShell脚本,该脚本使用Enter-PSSession从计算机1(C1)远程连接到计算机2(C2),然后访问C2中的文件,将这些文件用于我使用Invoke表达式调用的可执行文件。我的问题是找不到我要访问的文件,因此脚本失败 这就是我的脚本的样子: 输入PSSession-Computername C2-Credential$mycreds-Authentication Credssp $executablePath=“C:\…\executable.exe” $file

我正在编写一个PowerShell脚本,该脚本使用Enter-PSSession从计算机1(C1)远程连接到计算机2(C2),然后访问C2中的文件,将这些文件用于我使用Invoke表达式调用的可执行文件。我的问题是找不到我要访问的文件,因此脚本失败

这就是我的脚本的样子:

输入PSSession-Computername C2-Credential$mycreds-Authentication Credssp
$executablePath=“C:\…\executable.exe”
$file1=“C:\file\i\want\to\access\”#存储在C2上的两个文件
$file2=“C:\other\file\i\want\”
$arguments=“调用文件的语法”
调用表达式“$executablePath$arguments”
这是我收到的错误信息:

未找到文件“C:\File\i\want\to\access\”。 找不到文件“C:\other\File\i\want\”。 我尝试在
Enter PSSession…
命令后放置
Start Sleep-Seconds 30
,但这并没有解决任何问题,文件仍然找不到。
在连接C2和调用调用调用调用调用调用调用表达式之间,我在脚本中放入了一个
write host$env:COMPUTERNAME
调用,它返回C1。但是,脚本失败后,
$env:COMPUTERNAME
返回C2,我可以从控制台输出判断它已连接到C2。在我看来,PowerShell正在同时处理整个脚本,因此所有命令都在C1的范围内,而不是C2的范围内。然后,之后,它指向C2。是否可以错开命令,以确保
调用表达式
命令通过C2?

Enter PSSession
仅以交互方式工作-在脚本中,您需要使用
调用命令
$file
$file2
的末尾都有一个反斜杠。这通常表示一个目录而不是一个文件项。您无法为输入pssession编写脚本。使用
invoke命令时
确保添加选项
-sessionoption(new-pssessionoption-nomachineprofile)
,否则您将在远程连接到的每台机器上创建一个配置文件。减慢您的进程,这是一种不好的做法。此外,因为这显然是不够的,.呼叫接线员(
&
)或
启动进程
,根据情况而定。
Enter PSSession
仅以交互方式工作-在脚本中,您需要使用
Invoke命令
$file
$file2
的末尾都有一个反斜杠。这通常表示一个目录而不是一个文件项。您无法为输入pssession编写脚本。使用
invoke命令时
确保添加选项
-sessionoption(new-pssessionoption-nomachineprofile)
,否则您将在远程连接到的每台机器上创建一个配置文件。减慢您的处理速度,这是一种不好的做法。此外,因为这显然是不够的。根据情况,呼叫接线员(
&
)或
启动处理。