巧用PowerShell來維護(hù)Win2008服務(wù)器作業(yè) |
發(fā)布時(shí)間: 2012/7/12 10:34:52 |
在日常工作中,管理員經(jīng)常需要與操作系統(tǒng)進(jìn)行交互。雖然交付的方式有很多種,對(duì)于對(duì)于服務(wù)器的維護(hù)來說,通過PowerShell來進(jìn)行交互,是首選的方式。通常情況下,PowerShell可以提供強(qiáng)大的本地腳本語(yǔ)言。也即是說,腳本可以被移植到所有巴本的Windows操作系統(tǒng)中。由于大部分企業(yè)并不是很純的2008應(yīng)用環(huán)境。如可能只有一個(gè)域控制使用的是2008操作系統(tǒng),其他服務(wù)器以及客戶端采用的是其他低版本的操作系統(tǒng),甚至采用的是非Windows操作系統(tǒng)。在這種情況下,通過PowerShell對(duì)應(yīng)用環(huán)境進(jìn)行維護(hù),是首要的選擇。在這篇文章中,筆者就談?wù)勥@個(gè)PowerShell工具的使用技巧。
一、cmdlet來實(shí)現(xiàn)自定義的功能。 Cmdlet是Powershell的核心工具之一。這個(gè)工具跟傳統(tǒng)的CLI Shell有點(diǎn)類,也是一種內(nèi)置的命令。不過在可擴(kuò)展性方面有本質(zhì)的不同。Cmdlet通過將NET類編譯為動(dòng)態(tài)鏈接庫(kù),并在實(shí)際運(yùn)行時(shí)加載到PowerShell工具中來實(shí)現(xiàn)。這也就是說,其實(shí)并沒有固定的Cmdlet類。只要管理員有這個(gè)能力并且擁有相關(guān)的權(quán)限,就可以使用PowerShell的軟件開發(fā)包來編寫自定義的Cmdlet,從而實(shí)現(xiàn)自定義的功能。 由于不同的企業(yè)其應(yīng)用環(huán)境千差萬(wàn)別。為此系統(tǒng)工程師往往可以通過這個(gè)工具來編寫一些常用的管理命令。在需要使用時(shí),直接調(diào)用即可。而不需要重新編寫。對(duì)于一些帶有很多參數(shù)的命令,或者命令腳本,就顯得非常的方便。在使用這個(gè)功能時(shí),筆者認(rèn)為管理員需要注意如下內(nèi)容。 一是語(yǔ)法上面的問題。Cmdlet始終以動(dòng)詞和名詞來進(jìn)行命名。注意,在動(dòng)詞與名詞之間有連字符號(hào)來進(jìn)行分隔。通常情況下,動(dòng)詞說明這個(gè)命令所需要執(zhí)行的操作,而名詞則代表的是操作的對(duì)象。舉一個(gè)簡(jiǎn)單的例子:get-process。get是動(dòng)詞,表示取得;而Process是操作的對(duì)象,表示進(jìn)程。 二是參數(shù)的問題。跟普通的CMD命令一樣,在PowerShell中也可以帶一些參數(shù),來實(shí)現(xiàn)特定的功能,或者對(duì)顯示的結(jié)果進(jìn)行過濾。在實(shí)際工作中,通過參數(shù)可以簡(jiǎn)化顯示的結(jié)果。而且PowerShell在參數(shù)這方面的功能比較強(qiáng)大,如其中的很多參數(shù)還可以使用通配符。如Get-Process W*。這表示顯示所有以W開頭的進(jìn)程。 三是需要注意Cmdlet工具的一個(gè)局限性。當(dāng)Cmdlet在執(zhí)行命令時(shí),一次只執(zhí)行一個(gè)單獨(dú)的命令。如果某個(gè)功能(如將某個(gè)文件復(fù)制到其他一個(gè)地方,然后再對(duì)這個(gè)原文件進(jìn)行重命名)可能需要通過多個(gè)動(dòng)作來完成,此時(shí)必須要通過兩個(gè)命令來完成。不過有些功能的動(dòng)作有可能有十幾個(gè)命令構(gòu)成,此時(shí)如果使用Cmdlet來實(shí)現(xiàn)的話,并不是很合適。在這種情況下,可能需要用到我們下面要介紹的腳本功能。 二、腳本執(zhí)行批量的維護(hù)工作。 在談到Cmdlet這個(gè)工具時(shí),筆者強(qiáng)調(diào)過,其一次性只可以執(zhí)行一個(gè)命令。如果要執(zhí)行多個(gè)命令的話,則需要通過腳本來實(shí)現(xiàn)。其實(shí)這里談的腳本,就是存放在硬盤中的一個(gè)文件。而這個(gè)文件中可能有多個(gè)Cmdlet指令。通過調(diào)用這個(gè)文件,可以讓系統(tǒng)一次性同時(shí)執(zhí)行多個(gè)命令,以完成特定的維護(hù)任務(wù)。 本文出自:億恩科技【www.riomediacenter.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |