使用 PowerShell 在远程计算机(VM)上运行批处理文件

使用 PowerShell 在远程计算机(VM)上运行批处理文件

一个简单的问题,搜索了一段时间,但没有找到答案。

一些背景:
我有一台本地机器和一台远程机器(虚拟机),我通过 RDP 连接它们。

我运行了一个批处理文件,该文件通过 Powershell 命令启动 RDP 会话并使用凭据登录。我的下一步是遇到问题的地方,我在远程计算机上有另一个要运行的批处理文件(也是 Powershell 命令)。

当我通过 RDP 物理运行该批处理文件(通过双击或通过命令提示符运行)时,一切正常。

当我远程触发批处理文件时,批处理文件会运行,但不是我想要的方式。它似乎在后台运行,并没有通过我的 RDP 会话实际显示它正在做什么。我不希望它在静默模式下运行的原因是,我有一个卸载并重新安装程序的脚本。由于它不是 MSI,所以我的代码中必须有几个“发送密钥”。

所以最后我的问题是,我可以远程运行一个批处理文件吗,就像我双击远程计算机上的批处理文件一样???我相信有一个选项psexec,但我不想使用任何比需要更多的程序。

答案1

您尝试过 Enter-PSSession 吗?

$s = New-PSSession -ComputerName Server01 -Credential Domain01\User01 
# Enter the session yourself
Enter-PSSession -Session $s

或者

Invoke-Command -Session $s -ScriptBlock {
    [SCRIPT GOES HERE]
}

相关内容