如何使用命令行界面連接到 Windows 伺服器?(命令行界面)
尤其是在 Server 2008 及更高版本中安裝Server Core的選項時,通過一種連接到 Windows 伺服器的
CLI
功能變得越來越有用,如果不是在 Windows 管理員中非常普遍的話。幾乎每個 Windows
GUI
管理工具都有一個連接到遠端電腦的選項,但內置 WindowsCLI
(cmd.exe
) 中沒有這樣的選項,這給人的初步印像是這可能是不可能的。是否可以使用 CLI 遠端管理或管理 Windows Server?如果是這樣,有什麼選擇可以實現這一目標?
有幾個相當簡單的選項可用於使用命令行遠端管理遠端 Windows Server,包括一些本機選項。
本機選項:
Windows Remote Shell/Management 工具是在命令行實用程序中遠端管理遠端 Windows 伺服器的最簡單方法,並且與大多數 Windows 命令行實用程序一樣,ss64 在其選項和語法上有一個很好的頁面。
儘管 Microsoft 文件中沒有明確說明,但這可用於啟動 的遠端實例
cmd.exe
,該實例在遠端系統上創建互動式命令行,而不是作為命令行選項在遠端伺服器上執行單個命令。
- 與:
winrs -r:myserver.mydomain.tld cmd
BSD
這也是主要基於 - 的其他系統(*nix 等)的管理員可能最熟悉的本機支持的選項CLI
。
- 希望
PowerShell
不需要介紹,並且可以用於通過CLI
使用WMI
(Windows Management Instrumentation)來管理遠端電腦。- PowerShell 遠端處理允許在遠端電腦上執行 Powershell 腳本和命令。
- 有許多關於使用
WMI
+PowerShell
進行遠端管理的好資源,例如The Scripting Guy 的部落格、MSDN WMI 參考和ss64.com,其中包含 PowerShell 2.0 命令索引。
可能不是第一個想到的 Window
CLI
選項,但當然,使用mstsc.exe
通過遠端桌面協議 ( ) 連接到伺服器RDP
確實可以在遠端伺服器上使用命令行。連接到伺服器核心安裝
RDP
實際上是可能的,並且將提供與連接到控制台相同的界面 - 的一個實例cmd.exe
。
- 這可能有點違反直覺,因為 Server Core 缺少桌面或其他正常的 Windows shell 選項,但是如果有人願意的話,在 petri.co.il 上有一篇關於如何管理 Server Core 的快速文章
RDP
。流行的非本地選項:
儘管 Windows 現在提供了一些通過
CLI
. 最值得注意的三個如下。
- 在 Windows 伺服器上安裝SSH
- 如果您只是必須擁有
SSH
,那也是一個選項,social.technet 上有一個關於如何在 Server 2008 上安裝 OpenSSH 的指南。BSD
對於為此目的大量使用的其他系統(*nix 等)的管理員可能最有用SSH
,儘管即使是僅 Windows 的管理員也有優勢,因為擁有單個終端仿真器客戶端(如PuTTY)儲存了許多目標電腦和每個的自定義(或標準化)設置。
通過 Windows 在 Windows 機器上執行遠端命令的原始選項
CLI
,這是出色的SysInternals 套件的一部分。作為 Windows 管理員為數不多的“必備”軟體包之一,SysInternals 工具受到廣泛尊重和使用,以至於 SyInternals 被 Microsoft 收購,並且這些工具現在在某種程度上得到了 Microsoft 的官方支持。與
WinRS
/一樣RM
,PSExec
可用於向遠端伺服器發出單個命令,或cmd.exe
在遠端電腦上啟動互動式實例。
- 與:
psexec \\myserver.mydomain.tld cmd
與其他選項一樣,必須首先採取一些步驟來確保PSExec 確實能夠連接到目標電腦。
正如評論中所指出的,有許多很好的 SysInternals 程序可以在命令行上執行並針對遠端系統,而且不僅僅是 SysInternals 也是如此。
基本上,將你最喜歡的 Windows 實用程序包打包到一個文件夾中,然後推送到所有伺服器,然後將該文件夾添加到
%PATH%
系統的環境變數中。兩者都可以輕鬆完成GPO
。
- (我將SysInternals Suite、PuTTY、WinDirStat和一堆我發現自己重複使用的自定義腳本)放入一個文件夾中,該文件夾會被推送到我的所有伺服器
顯然,這不僅對通過 管理 Windows 系統
CLI
有用,而且我發現它非常有用,我認為無論如何都值得包括在內。