Windows PowerShell 是一個(gè)新的……
好吧,我相信你在看本文之前已經(jīng)把這句話看過N遍了……
PowerShell是一個(gè)由微軟的提供的全新shell程序,使用了全新的命令提示和腳本環(huán)境。使用PowerShell會(huì)給系統(tǒng)管理員帶來什么?學(xué)習(xí)PowerShell的好處又是什么?如果你已經(jīng)有了管理并使用VBScript的經(jīng)驗(yàn),相信你已經(jīng)知道答案了。Active Directory域現(xiàn)在已經(jīng)變得更加龐大和復(fù)雜,對(duì)于那些被束縛在GUI和Microsoft管理控制臺(tái)上的管理員們,PowerShell將使他們獲得自由!
不知道各位有沒有登陸到每個(gè)server、client修改注冊(cè)表的體驗(yàn),或者批量處理文件,批量配置……當(dāng)你遇到這些問題,會(huì)怎么做?手動(dòng)配置?還是運(yùn)行一個(gè)腳本來解決問題?經(jīng)常使用VBScript的人當(dāng)然會(huì)選擇后者,但是他們會(huì)問,為什么我還要學(xué)習(xí)PowerShell?
答案很簡(jiǎn)單:PowerShell使用了面向?qū)ο蠓椒?,基?Net,這是VBScript所不能提供或者支持的。
PowerShell是基于對(duì)象而不是基于文本
如果你已經(jīng)熟練使用cmd.exe和批處理腳本,那么我認(rèn)為你需要一些時(shí)間進(jìn)行概念性的轉(zhuǎn)變。PowerShell與那些使用VBScript和其他編程語言的概念有著根本性的區(qū)別,傳統(tǒng)的命令提示符的輸出是基于文本的,而在PowerShell中則不會(huì)。它看起來像文本,但它實(shí)際上是一個(gè)對(duì)象。這就是為什么我說PowerShell強(qiáng)大的原因,因?yàn)橐粋€(gè)PowerShell命令(對(duì)象)的輸出可以輸入到另一個(gè)命令中去,而無需加入額外的代碼。而在傳統(tǒng)的腳本語言中,如果你想讓一個(gè)命令傳遞到另一個(gè)命令,就需要額外的代碼來把需要傳遞的命令轉(zhuǎn)換成第二個(gè)命令可以理解的數(shù)據(jù)與格式。另外牽扯到一個(gè)問題,什么是對(duì)象?這個(gè)聽起來很熟悉,“在Active Directory域內(nèi)的一切都是對(duì)象?!崩缥覀兊姆?wù)器、電腦、打印機(jī)、安全組、組策略、用戶等,有了PowerShell,我們就可以很輕松的與這些對(duì)象進(jìn)行互動(dòng):查看信息,以及創(chuàng)建、修改或刪除。
對(duì)PowerShell命令進(jìn)行自定義
PowerShell命令被稱為的cmdlet。PowerShell自帶有超過100個(gè)cmdlet。PowerShell的開發(fā)團(tuán)隊(duì)利用他們無窮的想象力為這些cmdlet創(chuàng)造了別名,使我們能夠盡可能的利用我們已經(jīng)習(xí)慣的傳統(tǒng)的命令來操作,如:dir、 cd、 del、 copy等等。即使是UNIX的上的老手,也可以輕松使用諸如ls、man等命令。為了最大程度上迎合用戶習(xí)慣,簡(jiǎn)化操作,PowerShell允許用戶為cmdlet創(chuàng)建自己定義的別名,甚至創(chuàng)建自己的cmdlet。
PowerShell是一個(gè)命令行解釋器和腳本環(huán)境
概括地講就是PowerShell具有兩全其美。DOS僅僅是一個(gè)命令行解釋器,輸入命令,然后得到輸出,當(dāng)然,也可以使用批處理文件,但批處理文件從本質(zhì)上只是對(duì)輸入的命令這一操作的簡(jiǎn)化。在VBScript中,可以利用WSH(Windows腳本主機(jī)),但是并不能在命令提示符狀態(tài)下輸入VBScript代碼。PowerShell與它們都不同卻又相似,它不僅可以輸入命令,而且可以在命令行構(gòu)建腳本。以后的教程會(huì)詳細(xì)講述這個(gè)。
在接下來的幾周內(nèi)我將連續(xù)貼出PowerShell的基礎(chǔ)教程,為大家提供一個(gè)堅(jiān)實(shí)的基礎(chǔ),良好的開端。
我將主要圍繞以下方面展開:
• Windows PowerShell的控制臺(tái)的配置與定制
• PowerShell基礎(chǔ):cmdlet、參數(shù)、命令類型……
• 使用PowerShell的命令格式輸出
• 使用Windows文件系統(tǒng)
• WMI和.NET
• 在PowerShell中使用變量
• 應(yīng)用
開始,我們將集中圍繞PowerShell的基本命令與shell特性,了解其基本使用。還需要了解一點(diǎn),PowerShell的一個(gè)強(qiáng)大功能是能夠在命令提示符下建立和測(cè)試代碼。在以往的經(jīng)驗(yàn)中,我們往往先寫出腳本,然后測(cè)試它,進(jìn)而對(duì)之前所寫的腳本進(jìn)行調(diào)整,就好像在VBScript中那樣。但是PowerShell的強(qiáng)大之處就在于,你可以在命令行之后再寫的腳本,在后面的講解中會(huì)詳細(xì)介紹。
PowerShell 官方下載地址 http://support.microsoft.com/kb/968929
官方實(shí)例教程 http://technet.microsoft.com/zh-cn/scriptcenter/dd742419.aspx