Windows PowerShell不一樣的系統(tǒng)管理體驗(yàn)

系統(tǒng)維護(hù)、管理中大家常在命令提示符(cmd.exe)下進(jìn)行操作,對Windows PowerShell鮮有接觸或者使用。其實(shí)在微軟的計(jì)劃中,Windows PowerShell將成為CDM的繼任者,是下一代命令行工具。Windows PowerShell目前最高版本為2.0,并且已經(jīng)集成到Windows Server 2008及Windows 7中。Windows PowerShell使得IT管理員更容易地控制系統(tǒng)管理和加速自動(dòng)化,作為系統(tǒng)管理員應(yīng)該掌握和使用它。筆者因?yàn)楣ぷ餍枰_始學(xué)習(xí)Windows PowerShell,下面和大家分享幾個(gè)非常實(shí)用的Windows PowerShell應(yīng)用實(shí)例。
1、Windows PowerShell的安裝
在Windows Server 2008中已經(jīng)集成了Windows PowerShell,不過默認(rèn)情況下并沒有安裝,大家可以在服務(wù)管理器中進(jìn)行安裝而不用從網(wǎng)上下載。對于Windows 7的用戶系統(tǒng)已經(jīng)默認(rèn)安裝了Windows PowerShell 2.0,直接使用就可以了。對于其他版本的Windows用戶可以微軟的網(wǎng)站http://www.microsoft.com/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&DisplayLang=en下載。
2、善用Windows PowerShell幫助
Windows PowerShell是新的命令和腳本規(guī)范,初學(xué)者會(huì)有一定的陌生感不容易上手。其實(shí),善用Windows PowerShell幫助可以幫助大家盡快了解其命令規(guī)范。
運(yùn)行Windows PowerShell,輸入并執(zhí)行“get-command”會(huì)返回Windows PowerShell提供的129個(gè)命令的信息,這些命令囊括了管理服務(wù)、進(jìn)程、事件日志、證書、注冊表以及使用 Windows Management Instrumentation (WMI)等系統(tǒng)管理的方方面面。如果要獲取其中的某個(gè)命令的使用幫助信息,比如我們要獲取“get-command”這個(gè)命令的使用幫助,可以執(zhí)行命令“get-help get-command”,獲取其他命令的幫助信息的方法類似。(圖1)
圖1 Windows Powershell
另外,為大家提供幾個(gè)很實(shí)用的技巧。如果命令的幫助信息比較多,一屏呈不下可用通道符號“|”進(jìn)行分屏顯示,例如“get-command | more”將逐屏顯示W(wǎng)indows PowerShell所有的程序集?!癵et-help get-service -full”將會(huì)顯示get-service這一程序集的詳細(xì)幫助(包括示例)?!癵et-help get-service –parameter *”將會(huì)列出Get-Service程序集的所有參數(shù)及參數(shù)說明?!癶elp get-service –parameter *”作用和前面一個(gè)命令一樣,但是將會(huì)逐屏顯示。有時(shí)基于需要我們還需要使用通配符,Windows PowerShell中的通配符使用與CMD有區(qū)別,可以執(zhí)行命令“get-help about_wildcard”獲取通配符使用的幫助信息。(圖2)
圖2 Windows Powershell
#p#3、活用別名提升操作效率
Windows PowerShell中的命令雖然可讀性強(qiáng),但是命令比較長輸入起來比較費(fèi)事。這樣我們可以根據(jù)需要?jiǎng)?chuàng)建個(gè)性的、易記的命令別名,來提高命令輸入的效率降低命令輸入錯(cuò)誤的概率。
比如我們要為“get-service”命令創(chuàng)建別名,實(shí)現(xiàn)輸入gs可調(diào)用該命令??蒞indows PowerShell命令行中執(zhí)行“set-alias gs get-service”來實(shí)現(xiàn),這樣當(dāng)我們執(zhí)行“gs”其實(shí)就是執(zhí)行“get-service”。(圖3)
圖3 Windows Powershell
除此之外,我們還可以在Windows PowerShell中為系統(tǒng)中的應(yīng)用程序創(chuàng)建別名。這樣我們調(diào)用某個(gè)程序時(shí)就不用進(jìn)入其所在路徑并輸入程序名進(jìn)行調(diào)用了。例如我們要為活動(dòng)目錄工具dsmgmt.exe創(chuàng)建別名ad,可以在Windows PowerShell命令行中執(zhí)行“set-alias ad c:\windows\system32\dsmgmt.exe”。其中ad就是命令別名,c:\windows\system32\是dsmgmt.exe所在路徑。我們在Windows PowerShell命令行中執(zhí)行ad可以看到調(diào)用了dsmgmt.exe工具。(圖4)
圖4 Windows Powershell
當(dāng)然,可以創(chuàng)建別名也可以刪除別名。比如我們要?jiǎng)h除剛才創(chuàng)建的dsmgmt.exe的別名ad,可以在Windows PowerShell命令行下執(zhí)行“remove-item alias:ad”即可。這樣當(dāng)我們執(zhí)行別名ad時(shí)會(huì)顯示錯(cuò)誤,因?yàn)樗呀?jīng)被刪除了。(圖5)
圖5 Windows Powershell
#p#4、自定義函數(shù)實(shí)現(xiàn)特殊需要
Windows PowerShell優(yōu)于CMD的一個(gè)特性是可以創(chuàng)建自定義函數(shù)以實(shí)現(xiàn)某些特殊需要。其實(shí),函數(shù)和上面的別名比較類似。不過,函數(shù)比別名要復(fù)雜,它可以使用參數(shù),我們可以通過函數(shù)來創(chuàng)建復(fù)雜PowerShell命令的快捷方式。比如我們創(chuàng)建一個(gè)名為display-RunningService的函數(shù),以顯示當(dāng)前服務(wù)器上正在運(yùn)行的所有服務(wù),可以執(zhí)行命令“function display-RunningService {get-service | where-object {$_.Status -eq "Running"}}”。其中function申明創(chuàng)建函數(shù),display-RunningService是函數(shù)名,{get-service | where-object {$_.Status -eq "Running"}}是篩選出當(dāng)前所有狀態(tài)為Running的系統(tǒng)服務(wù)即當(dāng)前正在運(yùn)行的服務(wù)。函數(shù)創(chuàng)建完畢后,如果此后我們要查看當(dāng)前服務(wù)器中正在運(yùn)行的服務(wù)只需在Windows PowerShell的命令行下執(zhí)行“display-RunningService”即可。如果要?jiǎng)h除該函數(shù),我們只需執(zhí)行“Remove-Item Function: display-RunningService”就可以了。(圖6)
圖6 Windows Powershell
上面的例子只是Windows PowerShell自定義函數(shù)的一個(gè)簡單的例子,在系統(tǒng)管理中管理員完全可以根據(jù)自己的需要?jiǎng)?chuàng)建各種函數(shù),實(shí)現(xiàn)一勞永逸快速進(jìn)行系統(tǒng)的管理和維護(hù)。此外,Windows PowerShell中也可創(chuàng)建帶參數(shù)的自定義函數(shù),以滿足更復(fù)雜、靈活的系統(tǒng)管理的需要。
5、快速訪問注冊表
訪問注冊表是Windows PowerShell一個(gè)非常實(shí)用的特性,利用該功能我們可以實(shí)現(xiàn)對注冊表的快速訪問,通過注冊表鍵值了解系統(tǒng)狀況。特別是在某些特殊情況下,比如注冊表被鎖時(shí),這應(yīng)該是我們通往注冊表的一條通道。在Windows PowerShell的命令行下可執(zhí)行“cd -path hklm:\”可進(jìn)入注冊表HKEY_LOCAL_MACHINE主鍵路徑下。繼續(xù)執(zhí)行“dir”可顯示HKLM主鍵下的各子鍵,執(zhí)行“cd Software\Microsoft\Windows\CurrentVersion\Run”進(jìn)入系統(tǒng)自啟動(dòng)項(xiàng)下,執(zhí)行“gp . *”將顯示RUN項(xiàng)的屬性以及下面的鍵值,輸出結(jié)果中前面四個(gè)為RUN項(xiàng)的屬性,據(jù)此管理員可進(jìn)行進(jìn)行分析啟動(dòng)項(xiàng)是否正常。說明一下,剛才輸入的命令中“Gp. *”是“get-itemproperty -path . -name *”的快捷方式,簡化的輸入。(圖7)
圖7 Windows Powershell
#p#6、獲取詳細(xì)的系統(tǒng)信息
Windows PowerShell和系統(tǒng)底層函數(shù)無縫結(jié)合,我們可以利用其提供的對象獲取詳細(xì)的系統(tǒng)信息。比如我們要獲取服務(wù)器的DNS信息,可以在Windows PowerShell中執(zhí)行命令“Get-WMIObject win32_service -filter "name='DNS'" | format-table”以查看當(dāng)前DNS運(yùn)行狀態(tài)。其中“Get-WMIObject win32_service”是使用WMI對象獲取系統(tǒng)服務(wù)信息,“-filter "name='DNS'”是篩選其中的DNS服務(wù),當(dāng)然我們可以替換ame='DNS'的DNS獲取其他服務(wù)信息?!癴ormat-table”是以列表的形式顯示結(jié)果。另外,我們還可以加入-computer參數(shù)獲取域中其他主機(jī)的DNS信息。比如執(zhí)行命令“Get-WMIObject win32_service -filter "name='DNS'" -computer jp.ctocio.com | format-table”可以獲取ctocio.com域中jp主機(jī)的DNS運(yùn)行信息。(圖8)
圖8 Windows Powershell
總結(jié):上面六個(gè)應(yīng)用實(shí)例只是Windows PowerShell應(yīng)用中極少的一部分,并且每一部分的實(shí)例只是其簡單應(yīng),并沒要深入下去。毫不諱言,Windows PowerShell的一個(gè)非常強(qiáng)大的系統(tǒng)管理工具。系統(tǒng)通過本文,大家能夠?qū)ζ湟鹬匾曀M(jìn)而學(xué)習(xí)它,使用它,提升你的系統(tǒng)管理、維護(hù)效率。
相關(guān)文章
Win2008 R2 無法連接無線網(wǎng)絡(luò)的解決方法
這篇文章主要介紹了Win2008 R2 無法連接無線網(wǎng)絡(luò)的解決方法,需要的朋友可以參考下2020-09-21win2008 R2更新KB4516065 錯(cuò)誤代碼 80092004 的解決方法
今天在給服務(wù)器安裝補(bǔ)丁的時(shí)候遇到了更新錯(cuò)誤,提示代碼是80092004,經(jīng)過一番查證,小編終于找到了解決方案,現(xiàn)把解決方法分享給大家.2020-02-03Windows Server 2008 R2怎么打開鏡像卷?
Windows Server 2008 R2怎么打開鏡像卷?Windows Server 2008 R2系統(tǒng)需要代開鏡像卷,該怎么打開呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2019-12-12Windows Server 2008所有版本的激活密鑰匯總分享
還在苦苦尋找Windows Server 2008秘鑰的朋友,快來看看這篇文章中,文中詳細(xì)的Server 2008各種版本的序列號,激活碼,有需要的朋友快來使用吧2019-07-04- Windows Server 2008 發(fā)行了多種版本,以支持各種規(guī)模的企業(yè)對服務(wù)器不斷變化的需求。那么此版本如何激活使用呢?還不知道的朋友不妨閱讀下文內(nèi)容,參考一下吧2019-07-04
windows server 2008R2 如何刪除克隆賬戶?
Windows Server 2008 R2是一款服務(wù)器操作系統(tǒng)。那在本款系統(tǒng)中如何刪除克隆賬戶呢?想要了解具體如何操作的朋友,不妨閱讀下文內(nèi)容,參考一下吧2019-07-04windows server 2008r2怎么設(shè)置IP黑名單?
Windows Server 2008 R2是一款服務(wù)器操作系統(tǒng)。那在本款系統(tǒng)中如何設(shè)置IP黑名單呢?想要了解具體如何操作的朋友,不妨閱讀下文內(nèi)容,參考一下吧2019-07-03- 這篇文章主要介紹了快速安裝Windows2008域控制器的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-22
- 與Windows2003相比,Windows2008群集改進(jìn)了許多功能。其中最引人注目的是仲裁選項(xiàng)的變化。這篇文章給大家介紹了創(chuàng)建Windows2008群集的相關(guān)知識,需要的朋友參考下吧2017-12-21
搭建Win2008故障轉(zhuǎn)移群集、如何搭建服務(wù)器集群、2008故障轉(zhuǎn)移群集搭建
這篇文章主要介紹了搭建Win2008故障轉(zhuǎn)移群集、如何搭建服務(wù)器集群、2008故障轉(zhuǎn)移群集搭建方法的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小2017-12-21