这个自我回答的问题侧重于 Windows [1],解决了以下几个方面:
现在有两个PowerShell 版本- 传统的、仅限Windows 的 Windows PowerShell和跨平台的 PowerShell Core,两者都可以安装在给定的 Windows 机器上:
如何判断哪个 PowerShell 版本将执行远程命令,例如 via Invoke-Command -ComputerName?
我如何通过配置针对特定版本,包括临时的和持久的?
笔记:
对于要在给定机器上通过远程处理可定位的版本,必须将其设置为远程处理:
只有Windows PowerShell中被自动设置为远程处理,但只能在服务器上运行Windows Server 2012或更高版本。
从 v7 开始,PowerShell Core还没有随 Windows 一起提供;如果您使用的是官方安装程序,则可以选择在安装过程中启用远程处理。
在任何情况下,您都可以根据Enable-PSRemoting需要(重新)启用 PowerShell 远程处理,其中:
必须从相应的版本运行。
必须以管理权限运行
[1] 也就是说,问题集中在基于WinRM的远程处理上(WinRM 是 DTMF …