如何使用命令行界面连接到 Windows 服务器?(CLI)

如何使用命令行界面连接到 Windows 服务器?(CLI)

尤其是安装选项服务器核心在 Server 2008 及更高版本中,通过 连接到 Windows 服务器CLI是一项越来越有用的功能,即使这项功能在 Windows 管理员中并不十分普遍。

实际上每个 Windows管理工具都有一个连接到远程计算机的选项,但是内置的 Windows ( )GUI中没有这样的选项,这给人的第一印象是这可能是不可能的。CLIcmd.exe

是否可以使用 CLI 远程管理或管理 Windows Server?如果可以,有哪些选项可以实现此目的?

答案1

有几种相当简单的选项可用于使用命令行远程管理远程 Windows Server,其中包括一些本机选项。

本机选项:

  1. 温RS /温RM

    • Windows 远程 Shell/管理工具是在命令行实用程序中远程管理远程 Windows 服务器的最简单方法,与大多数 Windows 命令行实用程序一样,ss64 有一个很好的页面介绍其选项和语法
    • 尽管 Microsoft 文档中没有明确说明,但这可用于启动的远程实例cmd.exe,从而在远程系统上创建交互式命令行,而不是作为命令行选项在远程服务器上执行单个命令。
      • 例如:winrs -r:myserver.mydomain.tld cmd
    • BSD这也是本机支持的选项,对于主要基于的其他系统(*nix、等)的管理员来说可能最为熟悉CLI

  2. 电源外壳

  3. 远程桌面

    • 这可能并不是 Windows 选项中首先想到的CLI,但当然,使用mstsc.exe远程桌面协议 () 连接到服务器RDP确实允许在远程服务器上使用命令行。
    • 连接到服务器核心安装RDP实际上是可能的,并且将提供与连接到控制台相同的界面 - 的一个实例cmd.exe

热门的非本地选项:

尽管 Windows 现在提供了一些通过 访问远程服务器的本地选项CLI,但情况并非总是如此,因此,出现了许多相当流行的第三方解决方案。下面是三个最值得注意的解决方案。

  1. 安装SSH在 Windows Server 上

    • 如果你必须有SSH,这也是一个选择,而且还有social.technet 上有关如何在 Server 2008 上安装 OpenSSH 的指南。
    • BSD对于大量使用终端仿真器客户端的其他系统(*nix、等)的管理员来说,SSH这可能最有用,尽管对于只使用 Windows 的管理员来说,拥有一个终端仿真器客户端也有好处(如油灰) 存储多个目标计算机以及每个目标计算机的定制(或标准化)设置。

  2. 执行程序

    • 通过 Windows 在 Windows 框上执行远程命令的原始选项CLI,这是优秀的一部分SysInternals 套件SysInternals 工具是 Windows 管理员为数不多的“必备”软件包之一,受到广泛尊重和使用,因此 SyInternals 被 Microsoft 收购,并且该工具现在在某种程度上得到了 Microsoft 的官方支持。
    • WinRS与/类似RMPSExec可用于向远程服务器发出单个命令,或cmd.exe在远程计算机上启动的交互式实例。
      • 例如:psexec \\myserver.mydomain.tld cmd
    • 与其他选择一样,必须先采取一些步骤来确保PSExec 实际上能够连接到目标机器

  3. 将实用程序文件夹添加到服务器并将其值存储在 %PATH% 系统变量中

    • 正如评论中所指出的,有许多优秀的 SysInternals 程序可以在命令行上执行并针对远程系统,而且不仅仅是 SysInternals 如此。
    • 基本上,将一组你最喜欢的 Windows 实用程序打包到一个文件夹中,然后推送到你的所有服务器,将该文件夹添加到%PATH%系统的环境变量中. 两者都可以通过 轻松完成GPO
    • 显然,这不仅仅对于通过 管理 Windows 系统有用CLI,但我发现它非常有用,我认为无论如何都值得将其包括在内。

答案2

仅仅为了完整性:尽管由于各种原因它可能不是最好的解决方案,但每个 Windows 系统都支持 Telnet 服务,可以从功能列表中启用该服务。

Microsoft 的 telnet 实现也支持 NTLM 身份验证,因此,与 Unix 系统的标准 telnet 不同,使用它时不会在网络上发送明文密码。

相关内容