使用 Windows 10 Home 或 Pro 连接到 Microsoft Windows Server 2019 Datacenter 进行远程桌面和会话,有没有办法只使用 PowerShell 连接到它?我不需要加载所有额外的资源、服务和视觉元素。
尝试使用 mstsc 连接 -console 但它仍然加载几乎所有内容。
这里是不是缺少了一个工具?
答案1
如果您只想使用终端,还有其他机制。
您可以使用以下方式在服务器上安装 OpenSSH 设置 > 应用程序 > 应用程序和功能 > 可选功能。找到“OpenSSH Server”,然后单击“安装”。有关更多信息,请参阅 安装 OpenSSH。
作为客户端,OpenSSH Client 可安装在 Windows 10 build 1809 及更高版本上。客户端安装与上述相同,只是功能名称为“OpenSSH Client”。
答案2
对于 Windows 上基于命令行的远程访问,可以使用 PowerShell 远程处理。只要计算机属于域的一部分,就可以使用 Kerberos 对远程系统进行安全身份验证。它使用 WinRM 作为连接到目标的手段。默认情况下,只有在远程系统上具有管理员权限的用户才能对默认的 PowerShell 远程处理端点进行身份验证。您可以添加更多授予其他用户访问权限的端点。我建议使用 GPO 来标准化整个环境中的防火墙和 WinRM 配置。
请注意,远程身份验证被视为网络登录,这会将您的会话限制在远程系统上。如果您尝试从那里访问其他系统,您将遇到所谓的双跳问题,这个问题可以通过委派解决,但需要正确实施。
PowerShell 提供了Enter-PSSession
cmdlet 来以交互方式连接到远程系统并New-PSSession
创建可与许多 cmdlet 的参数一起使用的连接对象-PSSession
,并且还支持一对多连接以进行批量操作。
PowerShell 远程处理不同于常规 SSH 连接 - PS 远程处理不会与远程系统保持持久连接,而是接收您的命令,在远程系统上运行它并序列化其输出,然后在源计算机上本地反序列化。这意味着文本编辑器(如 vim)无法通过基于 WinRM 的 PS 远程处理运行,并且 PS 对象上的方法会丢失。在较新版本的 PowerShell 中,连接协商和数据传输也支持使用 SSH 而不是 WinRM,但需要额外的配置。