共計 5001 個字符,預計需要花費 13 分鐘才能閱讀完成。
Windows Server 2008 的管理命令是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一個熟練的并且有一定的技術深度的服務器管理員,他們往往會棄用友好的圖形界面而選擇用命令來進行服務器的管理。這樣不僅能夠提升工作效率,而且在命令行下可以實現許多在圖形界面下無法完成的任務。對于 Windows Server 2008 這樣的服務器操作系統來說更是如此,善用命令在很大程度上解放管理員。下面筆者向大家介紹幾個在 Server 2008 中非常實用的命令。
1. 用 ServerManagerCMD 命令進行服務器管理
ServerManagerCMD 是服務器管理器的命令行工具,用于支持三種重要的操作:添加和刪除角色、角色服務、功能,以及用于顯示安裝的角色、角色服務、功能。對于去具體的參數大家可以在命令行下輸入“ServerManagerCMD /?”進行查看。其中 -query、-install、-remove 是三個最常用的參數,分別用戶查詢、安裝和刪除服務器角色、角色服務和功能。下面筆者分別演示這三個參數的用法。
(1). 查詢
在命令提示符窗口中輸入命令“ServerManagerCMD -query”,回車后就可以查看到服務器的配置和功能,從而省去了在“服務管理器”的圖形界面中來回地切換。顯示結果一目了然:角色和功能會分成兩組,另外已經安裝的角色、角色服務、功能會以綠色顯示并在該項的前面有 [X] 標識,沒有安裝的顯示為白色前面標識為[]。如圖 1 所示筆者的服務器安裝的服務器角色有:Active Directory 域服務、DNS 服務器、Windows 部署服務,安裝的功能組件有:TFTP 客戶端、組策略管理器。另外,所安裝的角色服務以層次結構顯示在對于的角色下面。(圖 1)
筆者還有一個技巧和大家分享:當服務器安裝了多個角色、角色服務以及功能組件,如果管理員要查看是否安裝了某個對象這將比較麻煩。其實 ServerManagerCMD -query 支持管道命令“|”,我們可以這樣來做:假如我們要查看服務器是否安裝了組策略管理組件,可在命令行下輸入“ServerManagerCmd.exe -query | GPMC”,回車后如果安裝了此組件就會打開該工具,否則會顯示錯誤提示(比如輸入命令“ServerManagerCmd.exe -query | RSAT-TS”查看是否安裝了終端服務工具,因為沒有安裝會輸出錯誤)。(圖 2)
(2). 安裝
Windows Server 2008 默認情況下并沒有安裝 telnet 客戶端,假如我們要安裝該功能組件,可在命令提示符下輸入命令“ServerManagerCmd.exe -install Telnet-Client -resultPath installResult.xml”并回車。此時就開始 Telnet-Client 功能組件的安裝,并且會實時顯示安裝的進度(百分比),很快安裝完成。上述命令中,“Telnet-Client”是 Telnet 客戶端的系統名稱,必須用英文名稱不能用中文,否則會顯示“無效的角色、角色服務或功能”。當然,對于一個熟練的服務器管理員記住這些名稱應該不是難事。如果你忘記了可通過上面的查詢命令“ServerManagerCmd.exe -query”來查看。“-resultPath installResult.xml”參數的作用是以 XML 的格式將剛才的操作結果保存到 installResult.xml 文件中。另外,如果安裝的角色需要重啟計算機我們可以在后面加一個參數“-restart”,以實現安裝完成后自動重啟系統使剛才的安裝生效。(圖 3)
(3). 刪除
要刪除服務器角色、角色服務或者功能組件其操作方法和上面的類似,只是改變 ServerManagerCmd.exe 命令的參數即可。例如我們要同時刪除“Windows 部署服務”角色和“TFTP 客戶端”功能組件,可在命令提示符下輸入命令“ServerManagerCMD -remove WDS TFTP-Client”并回車。然后開始刪除并顯示刪除進度,稍等片刻即可完成刪除任務。如果要刪除更多的角色或者功能,只需將該角色或者功能的名稱依次輸入并相互之間以空格分開即可,這遠比圖形界面中的操作要快很多。(圖 4)
2、快速配置服務器組件
服務器的配置不僅僅是技術活,有的時候也是體力活。服務器管理員如何實現服務器的快速配置,以提升工作效率自我解放呢? 善用命令和使用腳本這是一套立竿見影的解決方案,下面筆者列舉幾個實戰案例。
(1). 配置防火墻
防火墻配置是服務器安全部署的重要方面,也是一項比較繁瑣的工作。特別對于 Windows Server 2008 這樣的服務器平臺,它的系統防火墻功能是非常強大的并且可配置項非常多。下面和大家分享幾個實用的命令以及一個配置案例。
打開命令提示符輸入輸入命令“netsh firewall show state”然后回車可查看防火墻的狀態,從顯示結果中可看到防火墻各功能模塊的禁用及啟用情況。命令“netsh firewall set opmode disable”用來禁用系統防火墻,相反命令“netsh firewall set opmode enable”可啟用防火墻。(圖 5)
接下來我們通過命令行進行防火墻配置,以實現允許訪問文件和打印共享以及 DNS 查詢。打開命令提示符輸入命令“netsh firewall add portopening UDP 53 DNS-Server”然后回車,命令執行后服務器就能夠響應客戶端的 DNS 查詢請求,并為其提供 DNS 服務了,很簡單一個命令搞定。下面我們通過命令實現客戶端可通過文件和打印共享訪問服務器,分別輸入并執行如下命令:“netsh firewall add portopening UDP 137 Netbios-ns”(允許客戶端訪問服務器 UDP 協議的 137 端口)、“netsh firewall add portopening UDP 138 Netbios-dgm”(允許訪問 UDP 協議的 138 端口)、“netsh firewall add portopening TCP 139 Netbios-ssn”(允許訪問 TCP 協議的 139 端口)、“netsh firewall add portopening TCP 445 Netbios-ds”(允許訪問 TCP 協議的 445 端口)。命令執行完畢后,文件及打印共享所須的端口都被防火墻放行了,我們從客戶端訪問試試果然成功。上面的命令雖然比較多,但格式類似也是非常好記的。(圖 6)
(2). 腳本在 Server Core 下的應用
Server Core 是摒棄 Windows Server 2008 華麗功能的一個最小安裝的服務器版本,Server Core 的配置離不開命令行和腳本。在命令行下執行“cd cd c:windowssystem32”來到 system32 目錄下,輸入“cscript SCregEdit.wsf /di”然后回車,就會把所有常見的配置 Server Core 的命令全部列出,而不需要管理員自己摸索。其中,SCregEdit.wsf 是 Server Core 特有的腳本,它有很多參數供管理員使用。輸入“Cscript slmgr.vbs -dlv”可顯示服務器的授權狀態。假如我們要在 Server Core 下啟用遠程桌面,可首先打開命令跳轉到 system32 路徑下然后執行命令“cscript SCregEdit.wsf /Ar 0”啟用遠程桌面。接下來需要配置防火墻打開遠程桌面使用的端口,執行命名“netsh firewall add portopening TCP 3389 Remote-Desktop”即可。腳本是 Server Core 中非常有用的資源,大家應該好好去挖掘和利用。(圖 7)
(3). 其他腳本和命令行工具
在 Windows Server 2008 中還有一個強大的命令行工具 PowerShell,它遠比 CMD 強大對服務器系統的可操作性更多。默認情況下 PowerShell 功能組件并沒有安裝,我們可在命令行下通過
ServerManagerCmd.exe 命令來安裝,即運行“ServerManagerCmd.exe -install PowerShell”即可。安裝完成后執行“開始”→“所有程序”→“Windows PowerShell 1.0”→“Windows PowerShell”即可運行 PowerShell。運行“get-command | more”和獲得所有的 PowerShell 命令并以分屏顯示。PowerShell 的命令包括兩部分,非常具有可讀性,管理員可同名命令名稱猜到該命令的作用。比如我們要在 PowerShell 訪問注冊表,可執行“cd -path hklm:”可進入注冊表 HKEY_LOCAL_MACHINE 主鍵路徑下,繼續執行“dir”顯示 HKLM 主鍵下的各子鍵,執行“cd SoftwareMicrosoftWindowsCurrentVersionRun”進入系統自啟動項下,執行“gp . *”將顯示 RUN 項的屬性以及下面的鍵值,輸出結果中前面四個位 RUN 項的屬性,據此管理員可進行進行分析啟動項是否正常。其次,比如我們在 PowerShell 命令行下輸入命令“Get-Process | Out-File -FilePath C:process.txt”及“Get-Service | Out-File -FilePath C:srver.txt”可將服務器當前的進程及其服務狀態輸出到文件中,在以后的服務器維護中可作為對比。其實,PowerShell 的個完全可替代 CMD 的工具,通過它幾乎可以完成所有的系統操作,深入學習 PowerShell 對于提高管理效率確實非常有用。(圖 8)
另外,WinRM 也是非常有用的管理工具。使用 WinRM 進行遠程服務器管理,可以減少并不安全而且繁瑣的 RPC 連接,只需要使用 HTTP 或者 HTTPS 就可以了,這對于跨越防火墻管理的場景非常有用。首先在命令行下執行“WinRM QuickConfig”,然后輸入“y”可啟用 WinRM 遠程管理。接著繼續執行命令“WINRM Enum Winrm/Config/Listener”可以看到服務器上的偵聽配置情況,如圖 9 所示 http 的 80 端口處于監聽狀態,這樣可以通過客戶端的瀏覽器來管理服務器了。WMI 也是管理員可用的服務器管理工具,在實戰中編寫 WMI 腳本來代理管理員完成一些需要管理員付出非常多的精力的重復而大量的操作。(圖 9)
3、獲取服務器詳細信息
對于服務器來說,管理和監控是并舉的。服務器管理者需要隨時了解服務器的軟硬件情況及其運行狀態,在 Windows Server 2008 中不需要借助第三方工具在命令行下就可實現。
在命令行下執行 systeminfo.exe 命令,可以看到關于操作系統及其服務器硬件的詳細信息,當然 systeminfo.exe 命令并部署 Windows Server 2008 所特有的。如果我們要知道服務器中安裝的所有 msi 規范的應用程序,可首先打開命令提示符然后輸入命令 wmic 進入其命令模式,然后執行 product 命令就會顯示你要的結果。如果要卸載安裝的某個 msi 的應用程序,可調用 product 的 uninstall 方法,命令格式為 WMIC product where name= call uninstall。當然大家所知的 tasklist、net share、net server 等都是我們獲取服務器信息的命令,其實我們可借用 PowerShell 中的相關命令獲取更加詳細的服務器信息。在 PowerShell 中幾乎所有以“get”為前綴的命令都與獲取服務器信息相關,比如“get-date”可獲取當前系統日期,“Get-EventLog”可獲取服務器日志信息,“Get-PSDrive”獲取系統分區信息等等。(圖 10)
服務器管理質量固然重要,但效率也同等重要,它們之間并不矛盾而是互相促進的。作為服務器管理者更多地通過命令來進行管理無疑會極大地提升管理的效率,對于 Windows Server 2008 這樣的服務器平臺更是如此。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。