天天看點

Windows Server 2012和Windows 8中的遠端管理

說到對Windows Server 2012和Windows 8的遠端管理,記得當我還是菜鳥的時候狹隘的了解為等同于對系統通過微軟終端服務MSTSC實作的基于RDP協定的遠端桌面管理,或者就是Microsoft 管理控制台MMC;當然實際上現在針對于Windows Server 2012環境的遠端管理方法,可以簡單的了解為通過伺服器管理器實作對資料中心中的伺服器實作1:1或1:多圖形化管理,或通過Powershell實作遠端自動化管理。

伺服器管理器是個圖形化的管理工具,該工具内置在Windows Server 2012非Server Core模式的環境中(包含在Full GUI和最小化伺服器圖形界面Mini Shell兩種模式),通過它可以實作對資料中心的其他Windows Server 2012的伺服器進行遠端圖形化管理,目前單個伺服器管理器可以實作對最多100台遠端伺服器進行統一管理。

需要通過修改伺服器角色和功能來實作伺服器管理器角色的添加和删除:

1. 解除安裝伺服器管理器:

對于已經預設包含了伺服器管理器(非Server Core模式)的環境,

a. 可以通過進入伺服器核心模式的方式,利用伺服器管理器所包含的圖形化的删除伺服器角色和功能删除掉所有伺服器圖形Shell和圖形管理工具元件

<a href="http://3387405.blog.51cto.com/attachment/201301/5/3377405_13574041267fIj.png"></a>

b. 利用伺服器管理器所包含的圖形化的删除伺服器角色和功能僅删除圖形化管理工具和基礎結構

c. 通過Powershell也可以禁用伺服器管理器,方法是

Uninstall-WindowsFeature -name PowerShell-ISE,Server-Gui-Mgmt-Infra,Server-Gui-Shell (進入核心模式)

Uninstall-WindowsFeature -name Server-Gui-Mgmt-Infra (僅删除伺服器管理器圖形化元件)

2. 對于進入無圖形管理模式的環境(如Server core模式)需要啟用伺服器管理器功能,則需要通過Powershell指令進行添加。

Add-WindowsFeature -name PowerShell-ISE,Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart

此外,還需要被遠端管理的伺服器預設啟用了允許遠端管理,也可以通過圖形界面或者Powershell的cmdlet在本地啟用或禁止遠端管理:

1. 在本地圖形界面伺服器管理器中通過遠端管理屬性修改阻止或啟用選項

2. 通過Powershell(需要以管理者身份運作)啟用(這也是一站式的配置會同時啟用所有所需的防火牆例外規則)

Configure-SMRemoting.exe -Enable

<a href="http://3387405.blog.51cto.com/attachment/201301/5/3377405_1357404129hpnC.png"></a>

安裝在Windows 8下的RSAT遠端伺服器管理工具截圖

上面我們提到了Windows Remote Management (WinRM)這個顧名思義就是Windows 遠端管理,它是微軟基于業界标準Web Service管理協定WS-MAN(一種允許不同的供應商的硬體及作業系統進行互操作,防火牆友好的标準基于 SOAP的協定)是以,WinRM 提供防火牆友好方法的可互操作的方式通路遠端系統。它是由新的 CIM cmdlet 使用的遠端處理機制;<b>它不但提供了對前面提到的伺服器管理器的支援,更提供了對強大的指令行和腳本語言Powershell的支援。</b>

我無意展開對WinRM的讨論,暫時我們需要知道這是遠端軟硬體互操作性的基礎就可以了。其實遠端管理可以通過WinRM使用 WinRM 腳本對象、 WinRM 指令行工具或 Windows 遠端 Shell 指令行工具實作。可以獲得BMC管理資料,對遠端 Windows 的作業系統如Windows Server 2012的計算機進行管理,管理資料可以由 WMI提供;請注意隻是底層可以使用WMI提供,與WMI不同的是并不使用DCOM通信而且處理資料也不是對象型的而是基于序列化的XML格式;另外針對類似IPMI管理也可以通過在WMI的Povider上提供标準的類實作和擷取。

WinRM2.0從Windows Vista SP1,Windows Server 2008就開始提供了支援,對于Windows Server 2012來說是内建啟用并支援了,而Windows 8雖然包含了這個元件,但是預設情況下并沒有啟用,是以要執行遠端管理的話就需要啟用這個功能,才能提供同通過Powershell進行遠端管理的功能。

首先,我們可以先确認WinRM服務的啟動狀态,Status Running代表服務已經啟動了(還需要确認啟動類型為自動)。

PS C:\Users\shzhai&gt; get-service –name winrm

Status  Name  DisplayName 

------  ----  ----------- 

Running winrm Windows Remote Management (WS-Management)

如果沒有啟用的話,我們可以通過Powershell中提供的Enable-PSRemoting 函數進行配置。該function會執行:

1. 啟動或重新啟動(如果已啟動) WinRM 服務 

2. 将 WinRM 服務啟動類型設定為“自動” 

3. 建立偵聽程式以接受任意 IP 位址上的請求 

4. 為 WS-Management 通信啟用 Windows 防火牆入站規則例外(僅适用于 http)

對于該函數流程和步驟需要進行互動配置确認,為了簡便可以一概确認預設值,是以隻需要執行 

Enable-PSRemoting –Force 就可以了。

配置完成後,可以通過Test-WSMan指令測試WinRM已經正确配置好并可以建立遠端連接配接了。例如 Test-WSMan –computername cnshzhai

我差點忘了,在多數情況下對于遠端主機不在一個域環境是可以管理的,但如果不是一個受信域主機,則遠端主機會拒絕驗證你的憑據。是以,需要啟用身份驗證就要先将遠端計算機添加到 WinRM 在本地計算機的受信任主機的清單裡面。

例如 :

好了,至此~盡情享受Windows Server 2012和Windows 8遠端管理帶給你的便利性吧~:-)

本文轉自 翟老貓 51CTO部落格,原文連結:http://blog.51cto.com/3387405/1109215,如需轉載請自行聯系原作者