Windows Server Version 1709 管理之入門篇

摘要: 相信有部分同窗們會有這樣的體驗,在公有云上購買了Windows Server Version 1709數據中心版的虛擬機,經過遠程鏈接進去以後,裏面全是黑乎乎的一個命令行,其它啥也沒有。這,一臉懵懂啊。shell

相信有部分同窗們會有這樣的體驗,在公有云上購買了Windows Server Version 1709數據中心版的虛擬機,經過遠程鏈接進去以後,裏面全是黑乎乎的一個命令行,其它啥也沒有。是否是中毒了?系統壞了???這,一臉懵懂啊。windows

image.png

首先,請不要驚慌,系統是正常的。瀏覽器

什麼是 Windows Server, version 1709?

Windows Server, version 1709 運行在服務器核心(Server Core)模式下。這意味着沒有圖形用戶界面。爲啥要這樣作?根據微軟的說法:它能夠提供強大的優點,如硬件要求較低、攻擊面更小而且減少了更新需求(減少了更新需求,這一點我沒法認同,其餘的還能夠接受)。並且在這一版本里,微軟沒有提供圖形界面到 Server Core的轉換。多是在Windows Server 2012/R2裏,圖形界面到Server Core的轉換常常會出錯,在2016裏就簡單粗暴一點,一旦安裝,禁止轉換。到了1709,直接就沒有圖形界面了。
Server Core和普通的帶GUI圖形界面的Windows Server 的主要區別以下:安全

  • 資源管理器沒有了。咱們熟悉的Windows Explorer,沒法出如今Server Core裏。
  • 全部依賴MMC的控制檯界面沒有了。也就是說運行*.msc將不會工做。例如:咱們沒法經過運行devmgmt.msc打開設備管理器了。
  • 除了區域和語言及時間,其餘的控制面板選項也沒有了。
  • 比較"著名"的IE也沒有了。

Windows 管理工具簡介

多是爲了像Linux看齊吧,Windows Server Version 1709更像Linux風格。不少習慣了Windows操做界面的人(用Windows 不用圖形界面,生活將毫無心義:), 對Server core的使用無從下手。本節會提供幾個Windwows 管理大殺器:PowerShell和 Project Honolulu等並對此做簡單介紹。服務器

PowerShell

幸好有了PowerShell, 讓 Windows 從傳統的DOS命令行和批處理中解放了生產力。PowerShell 之父 Jeffrey Snover,在加入微軟以前是搞Linux的。因此,咱們能夠在PowerShell裏隨處看到Linux Shell的影子如ls, wget, curl 等。但PowerShell絕對不是shell的簡單升級。PowerShell 依賴.NET Framework實現了強大的面向對象的腳本。隨着.NET FrameWork的開源和跨平臺,PowerShell Core在Linux上也已經正式推出。
微軟命名歷來都是很低調的,但PowerShell命名直接就帶了一個Power,可見此功能的強大。Jeffrey 在發明了PowerShell這後,直接就晉升爲微軟的Distinguished Engineer而且主導了Windows Server 2012的架構設計(跑遠了,回來)。
在Windows Server Version 1709裏打開PowerShell很簡單,直接在命令行裏輸入 PowerShell(大小寫不敏感)就能夠打開PowerShell進行操做了。session

image.png

PowerShell還能夠像SSH那樣遠程管理Windows 機器。如下示例在工做組的環境下如何配置PowerShell遠程,假定被管理的機器IP是 172.16.158.183。架構

  • 在被管理的機器上,運行如下PowerShell命令:
Enable-PSRemoting -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

image.png

  • 若是安全組有限制, 請開放對此機器入方向的5985(HTTP)和5986(HTTPS)端口。
  • 在客戶端機器上(須要遠程鏈接被管理的機器上),運行如下命令以接受被管理的機器是受信任的。若是想管理任何機器,替換 172.16.158.183 爲 *。
Set-Item WSMan:localhost\client\trustedhosts -value 172.16.158.183 -Force

不然執行下一步Enter-PsSession可能報如下錯誤:curl

Enter-PSSession : 鏈接到遠程服務器 172.16.158.183 失敗,並顯示如下錯誤消息: WinRM 客戶端沒法處理該請求。若是身份驗證方案與 Kerberos 不一樣,或者客戶端計算機未加入到域中, 則必須使用
HTTPS 傳輸或者必須將目標計算機添加到 TrustedHosts 配置設置。 使用 winrm.cmd 配置 TrustedHosts。請注意,TrustedHosts 列表中的計算機可能未通過身份驗證。 經過運行如下命令可得到有關此內容的更多信息: winrm help config。 有關詳細信息,請參閱 about_Remote_Troubleshooting 幫助主題。工具

所在位置 行:1 字符: 1
Enter-PSSession '172.16.158.183' -Credential:'administrator'網站

CategoryInfo          : InvalidArgument: (172.16.158.183:String) [Enter-PSSession],PSRemotingTransportException
 FullyQualifiedErrorId : CreateRemoteRunspaceFailed
  • 這樣,在客戶端機器上經過如下PowerShell命令就能夠遠程"SSH"到被管理的機器上了。(該輸入密碼仍是要輸入密碼)
Enter-PsSession –ComputerName 172.16.158.183

image.png

Microsoft Project Honolulu

微軟在1709發佈時同時也宣佈了一個叫火奴魯魯的項目。火奴魯魯是美國夏威夷州首府和港口城市。華人稱之爲檀香山(又跑遠了)。火奴魯魯項目是一個基於瀏覽器的圖形管理工具。他是在Server Core裏替代Server Manager 和MMC的管理工具。火奴魯魯能夠從如下網站下載:
https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-honolulu
火奴魯魯管理配置方法:

  1. 在被管理的Server 1709機器上,運行如下PowerShell命令:
Enable-PSRemoting -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
  1. 若是安全組有限制, 請開放對此機器入方向的5985(HTTP)和5986(HTTPS)端口。
  2. (第3步和第4步只須要作一步就能夠了。)下載並安裝火奴魯魯工具並安裝在被管理的Server 1709機器上。

    • 首先介紹在Server 1709機器上安裝。筆者使用瞭如下PowerShell命令在被管理的機器上下載了這個msi工具。
    wget -Uri http://download.microsoft.com/download/E/8/A/E8A26016-25A4-49EE-8200-E4BCBF292C4A/HonoluluTechnicalPreview1802.msi -UseBasicParsing -OutFile c:\HonoluluTechnicalPreview1802.msi
    • 下載完後用如下命令行執行安裝。命令是當即返回的。
    msiexec /i c:\HonoluluTechnicalPreview1802.msi /qn /L*v log.txt SME_PORT=443 SSL_CERTIFICATE_OPTION=generate
    • 要驗證是否安裝成功,可使用PowerShell命令 cat log.txt查看安裝結果。若是有如下字樣,代表安裝成功。

    MSI (s) (14:44) [09:48:37:885]: Product: Project 'Honolulu'(技術預覽版) -- Installation completed successfully. 
    MSI (s) (14:44) [09:48:37:885]: Windows Installer 已安裝產品。產品名稱: Project 'Honolulu'(技術預覽版)。產品版本: 1.1.10326.0。產品語言: 1033。製造商: Microsoft Corporation。安裝成功或錯誤狀態: 0。

  3. (第3步和第4步只須要作一步就能夠了。)此工具也能夠安裝在任何一個做爲PowerShell遠程的客戶端機器上。

    • 能夠用瀏覽器下載並安裝.
    • 安裝完成後,能夠打開 https://localhost/ 而後添加咱們須要管理的Server 1709的機器的地址。
      image.png
  4. 安裝完成後,能夠經過任何能夠訪問到安裝了火奴魯魯的機器的瀏覽器打開。很意外的,竟然不支持IE瀏覽器。必需要Microsoft Edge或者Chrome。

Sconfig

這個工具在Server Core誕生的那一天就有。不過如今被隱藏了。在命令行中輸入sconfig就能出現此命令。能知足基本須要,功能不是很強大。
image.png

遠程Server Manager

這個是目前主要的管理形式,不過只讀功能較多,能夠操做的配置不多。暗地裏已經被Project Honolulu取代,所以本文不作描述。

管理 Windows Server, version 1709的常見操做FAQ

如何拷貝文件到Server 1709?

這裏假定要複製的文件在客戶端機器上。經過PowerShell遠程和經過Project Honolulu的方法都在客戶端機器和Server 1709的被管理機器已經按上面的方法進行了配置。

經過遠程RDP

  1. 在客戶端機器上,右擊文件並選擇複製。
  2. 遠程mstsc 到Server 1709上。
  3. 在遠程機器上打開notepad.依次 文件 -> 打開。在打開對話框裏,選擇一個盤的路徑,右擊粘貼。文件就複製過來了。這是我最喜歡的一種方法。
    image.png

經過PowerShell遠程
在客戶端機器上運行如下PowerShell命令便可:

$session = New-PSSession -ComputerName 172.16.158.183
Copy-Item -ToSession $session -Path C:\1.txt -Destination c:\2.txt

C:1.txt是客戶端機器的文件位置。C:2.txt是要拷貝到目標機器上的位置。

經過Project Honolulu
依次點擊被管理的機器-> 文件 -> 上傳。
image.png

如何從內部關閉或者重啓Server 1709虛擬機?

經過遠程RDP

  1. 遠程RDP到Server 1709上。
  2. 在命令行裏輸入sconfig, 而後根據須要選擇13 -重啓,14-關機並回車就能夠了。
  3. 或者輸入如下命令行/PowerShell直接重啓或者關機:
shutdown -r -t 00 ::命令行 在0秒後重啓
shutdown -s -t 00 ::命令行 在0秒後關機
Stop-Computer -Force # Powershell 當即關機
Restart-Computer -Force # Powershell 當即重啓

經過PowerShell遠程
在客戶端機器上運行如下PowerShell命令便可:

Enter-PsSession –ComputerName 172.16.158.183
Restart-Computer -Force #重啓
Stop-Computer -Force #關機

經過Project Honolulu
依次點擊被管理的機器-> 概述。
image.png

如何安裝IIS服務?

經過遠程RDP

  1. 遠程RDP到Server 1709上。
  2. 在命令行裏輸入PowerShell, 而後再執行如下PowerShell命令:
Import-Module ServerManager
Add-WindowsFeature Web-Server, Web-CGI, Web-Mgmt-Console

經過PowerShell遠程
在客戶端機器上運行如下PowerShell命令便可:

Enter-PsSession –ComputerName 172.16.158.183
Import-Module ServerManager
Add-WindowsFeature Web-Server, Web-CGI, Web-Mgmt-Console

經過Project Honolulu
依次點擊被管理的機器-> 角色和功能 -> 選擇 Web服務器 並肯定須要的功能。
image.png

不當心在RDP會話中關閉了命令行窗口怎麼辦?

若是在遠程會話中不當心關閉了命令行窗口,能夠經過遠程桌面發送 Ctrl + Alt + Del組合鍵,在出現的界面選擇 任務管理器 回車後出現任務管理器,依次點 文件 -> 新建任務,輸入cmd就能夠了。
image.png
image.png

原文連接

相關文章
相關標籤/搜索