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

Hop*_*00b 101 windows windows-server-2008 command-line-interface windows-server-2008-r2 windows-server-2012

尤其是通过在 Server 2008 及更高版本中安装Server Core的选项,通过一种连接到 Windows 服务器的CLI能力越来越有用,如果不是在 Windows 管理员中非常普遍的话。

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

是否可以使用 CLI 远程管理或管理 Windows Server?如果是这样,有哪些选择可以实现这一目标?

Hop*_*00b 116

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

本机选项:

  1. WinRS/WinRM

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

  2. 电源外壳

  3. 远程桌面

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

流行的非本地选项:

尽管 Windows 现在提供了一些通过CLI. 最显着的三个如下。

  1. 在 Windows Server 上安装SSH

  2. PSExec

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

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

    • 正如评论中所指出的,有许多很好的 SysInternals 程序可以在命令行上执行并针对远程系统,这不仅适用于 SysInternals。
    • 基本上,将您最喜欢的 Windows 实用程序包打包到一个文件夹中,然后将其%PATH%推送到所有服务器,然后将该文件夹添加到系统的环境变量中。两者都可以通过 轻松完成GPO
      • (我将SysInternals SuitePuTTYWinDirStat和一堆我发现自己重用的自定义脚本包含在一个文件夹中,该文件夹被推送到我的所有服务器
    • 显然,这不仅对通过 管理 Windows 系统CLI有用,但我发现它非常有用,我认为无论如何都值得包括在内。

  • 不要忘记其他 PSTools,例如 PSList、PSKill 等。PSExec 只是该工具集的一小部分,而且大多数都未得到充分利用。 (6认同)
  • 我还要补充几个命令行实用程序,例如`shutdown` 和`iisreset`(如果安装了IIS),它们允许指定一台机器执行,因此可以远程使用。 (4认同)
  • @abatishchev 因为在这个时代,没有人应该为任何事情运行 telnet 服务器。 (4认同)
  • 为什么你没有提到 Telnet 服务器功能? (2认同)

Mas*_*imo 5

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

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

  • Windows 10 中删除了 telnet 服务器 (2认同)