设置涉及物理计算机(Windows 10),虚拟机(Windows 10)和内部服务器。
我要从物理计算机上在远程虚拟机上运行可执行文件。可执行文件(MyProgram.exe)已在远程虚拟机上。我使用的cmdlet是:
Invoke-Command -ComputerName Krypton -ScriptBlock {& "c:\users\qaauto\desktop\PrepareAssemblies"} -Credential ibwave\qaauto
我使cmdlet匿名,但我看到.EXE在远程VM上运行。但是,当它尝试读取我们服务器Vader上的文件时,它崩溃并发生异常。例外是:
System.IO.DirectoryNotFoundException:找不到路径'I:\ official \ QA \ tests \ Test parameters-Machine98.xml'的一部分。 在System.IO .__ Error.WinIOError(Int32 errorCode,可能是StringFullPath) 在System.IO.File.InternalCopy(String sourceFileName,String destFileName,布尔覆盖,布尔checkHost) 在System.IO.File.Copy处(字符串sourceFileName,字符串destFileName,布尔覆盖) 在PrepareAssemblies.Program.Main(String [] args)
在Powershell的命令提示符下,没有错误消息。该提示在cmdlet之后变为可访问,因此它不会挂起。
我确定服务WS-Management正在运行,并且已在远程虚拟机上正确配置,因为此cmdlet可以工作:
enter-pssession -computername Machine98 -credential <domain_name>\<username>
我使用的用户名是VM上的管理员,但我猜测,当我远程启动它时,.EXE不能以管理员身份运行。
您能帮助我找到解决方案的问题或提出另一种实现目标的方法吗?
非常感谢!