巧用PowerShell維護Win2008服務器作業 |
發布時間: 2012/7/12 10:54:33 |
在日常工作中,管理員經常需要與操作系統進行交互。雖然交付的方式有很多種,對于對于服務器的維護來說,通過PowerShell來進行交互,是首選的方式。通常情況下,PowerShell可以提供強大的本地腳本語言。也即是說,腳本可以被移植到所有巴本的Windows操作系統中。由于大部分企業并不是很純的2008應用環境。如可能只有一個域控制使用的是2008操作系統,其他服務器以及客戶端采用的是其他低版本的操作系統,甚至采用的是非Windows操作系統。在這種情況下,通過PowerShell對應用環境進行維護,是首要的選擇。在這篇文章中,筆者就談談這個PowerShell工具的使用技巧。
一、cmdlet來實現自定義的功能。 Cmdlet是Powershell的核心工具之一。這個工具跟傳統的CLI Shell有點類,也是一種內置的命令。不過在可擴展性方面有本質的不同。Cmdlet通過將NET類編譯為動態鏈接庫,并在實際運行時加載到PowerShell工具中來實現。這也就是說,其實并沒有固定的Cmdlet類。只要管理員有這個能力并且擁有相關的權限,就可以使用PowerShell的軟件開發包來編寫自定義的Cmdlet,從而實現自定義的功能。 由于不同的企業其應用環境千差萬別。為此系統工程師往往可以通過這個工具來編寫一些常用的管理命令。在需要使用時,直接調用即可。而不需要重新編寫。對于一些帶有很多參數的命令,或者命令腳本,就顯得非常的方便。在使用這個功能時,筆者認為管理員需要注意如下內容。 一是語法上面的問題。Cmdlet始終以動詞和名詞來進行命名。注意,在動詞與名詞之間有連字符號來進行分隔。通常情況下,動詞說明這個命令所需要執行的操作,而名詞則代表的是操作的對象。舉一個簡單的例子:get-process。get是動詞,表示取得;而Process是操作的對象,表示進程。 二是參數的問題。跟普通的CMD命令一樣,在PowerShell中也可以帶一些參數,來實現特定的功能,或者對顯示的結果進行過濾。在實際工作中,通過參數可以簡化顯示的結果。而且PowerShell在參數這方面的功能比較強大,如其中的很多參數還可以使用通配符。如Get-Process W*。這表示顯示所有以W開頭的進程。 三是需要注意Cmdlet工具的一個局限性。當Cmdlet在執行命令時,一次只執行一個單獨的命令。如果某個功能(如將某個文件復制到其他一個地方,然后再對這個原文件進行重命名)可能需要通過多個動作來完成,此時必須要通過兩個命令來完成。不過有些功能的動作有可能有十幾個命令構成,此時如果使用Cmdlet來實現的話,并不是很合適。在這種情況下,可能需要用到我們下面要介紹的腳本功能。 本文出自:億恩科技【www.vbseamall.com】 |