尤其是在 Server 2008 及更高版本中可以选择安装Server Core的情况下,通过一种连接到 Windows 服务器的CLI
功能越来越有用,即使这在 Windows 管理员中不是很普遍。
实际上,每个 WindowsGUI
管理工具都有一个连接到远程计算机的选项,但内置的 Windows CLI
( cmd.exe
) 中没有这样的选项,这给人的初步印象是这可能是不可能的。
是否可以使用 CLI 远程管理或控制 Windows Server?如果是这样,有哪些选择可以实现这一目标?
有几个相当简单的选项可用于使用命令行远程管理远程 Windows Server,包括一些本机选项。
本机选项:
cmd.exe
,它在远程系统上创建交互式命令行,而不是作为命令行选项在远程服务器上执行单个命令。winrs -r:myserver.mydomain.tld cmd
BSD
这也是本机支持的选项,其他基于 -based 的系统(*nix 、等)的管理员可能最熟悉CLI
。PowerShell
不需要介绍,并且可以用于从CLI
使用WMI
(Windows Management Instrumentation)管理远程计算机。WMI
+PowerShell
进行远程管理的好资源,例如The Scripting Guy 的博客、MSDN WMI 参考和ss64.com,其中有 PowerShell 2.0 命令的索引。CLI
,但当然,使用mstsc.exe
通过远程桌面协议 ( ) 连接到服务器RDP
确实可以在远程服务器上使用命令行。RDP
实际上是可能的,并且会提供与连接到控制台相同的界面 - 的实例cmd.exe
。RDP
,如果有人愿意的话。流行的非本地选项:
尽管 Windows 现在提供了一些通过 访问远程服务器的本机选项
CLI
,但情况并非总是如此,因此,创建了许多相当流行的第 3 方解决方案。最值得注意的三个如下。在 Windows 服务器上安装SSH
SSH
,那也是一个选择,并且在 social.technet 上有一个指南,介绍如何在 Server 2008 上安装 OpenSSH。BSD
对于大量使用此目的的其他系统(*nix、等等)的管理员来说,这可能是最有用的SSH
,尽管即使只有 Windows 的管理员也有优势,因为让单个终端仿真器客户端(如PuTTY)存储许多目标计算机和每台计算机的自定义(或标准化)设置。PS执行程序
CLI
,这是出色的SysInternals 套件的一部分。作为 Windows 管理员为数不多的“必备”软件包之一,SysInternals 工具受到了广泛的尊重和使用,以至于 SyInternals 被微软收购,现在这些工具在某种程度上得到了微软的正式支持。WinRS
/一样RM
,PSExec
可用于向远程服务器发出单个命令,或cmd.exe
在远程计算机上启动交互式实例。psexec \\myserver.mydomain.tld cmd
向服务器添加一个实用程序文件夹并将其值存储在 %PATH% 系统变量中
%PATH%
系统的环境变量中。两者都很容易通过GPO
.CLI
有用,而且我发现它非常有用,我认为无论如何都值得包括在内。只是为了完整起见:虽然由于各种原因它可能不是最佳解决方案,但每个 Windows 系统都支持 Telnet 服务,可以从功能列表中启用它。
Microsoft 的 telnet 实现还支持 NTLM 身份验证,因此,与 Unix 系统的标准 telnet 不同,使用它时不会在网络上发送明文密码。