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


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

几乎每个Windows GUI 管理工具可以选择连接到远程计算机,但内置Windows中没有此选项 CLI (cmd.exe),这给人的初步印象是这可能是不可能的。

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


79
2017-09-18 11:11






答案:


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

原生选项:

  1. WinRS / WinRM的

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

  2. 电源外壳

  3. 远程桌面

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

流行的非本地选项:

即使Windows现在提供了一些本机选项来访问远程服务器CLI,情况并非总是如此,因此,创建了许多相当受欢迎的第三方解决方案。最值得注意的三个是下面。

  1. 安装 SSH 在您的Windows Server上

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

  2. PSEXEC

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

  3. 将一个utilities文件夹添加到服务器并将其值存储在%PATH%系统变量中

    • 正如在评论中已经指出的那样,有许多可以在命令行上执行并且针对远程系统的良好SysInternals程序,这不仅仅是SysInternals。
    • 基本上,将一组您喜欢的Windows实用程序打包到一个文件夹中,然后推送到所有服务器 将该文件夹添加到 %PATH% 您系统的环境变量。两者都很容易完成 GPO
      • (我包括了 SysInternals套房油灰WinDirStat 以及我发现自己重复使用的一堆自定义脚本到一个文件夹中,该文件夹被推送到我的所有服务器
    • 显然,这不仅仅是通过管理Windows系统 CLI,但我发现它非常有用,我认为无论如何它都值得包括在内。

91
2017-09-18 11:11



不要忘记其他PSTools,例如PSList,PSKill等.PSExec只是该工具集的一小部分,大多数都没有得到充分利用。 - John Gardeniers
我还要添加几个命令行实用程序,如 shutdown 和 iisreset (如果安装了IIS)允许指定要执行的计算机,因此可以远程使用。 - Joshua Drake
你为什么不提到Telnet Server功能? - abatishchev
@abatishchev因为在这个时代,没有人应该运行telnet服务器。 - HopelessN00b
在正确配置并在安全环境中运行时,可以正常执行控制台命令。 - abatishchev


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

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


5
2018-03-31 13:09



telnet服务器已在Windows 10中删除 - daixtr
只有在没有其他安全方法的情况下才能使用它。流量仍应通过安全的VPN - mit