PowerShell基礎(chǔ)介紹
即開發(fā)代號(hào)為Monad的命令行外殼和腳本系統(tǒng)管理工具。
powershell
PowerShell是微軟公司于2006年第四季度正式發(fā)布的. 它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 拉近了與Unix, Linux等操作系統(tǒng)的距離. PowerShell的前身命名為Monad, 在2006年4月25日正式發(fā)布beta版時(shí)更名為PowerShell.
PowerShell是一款基于對(duì)象的shell, 建立在.Net框架之上, 目前支持.Net Framework 2.0. 能夠運(yùn)行在Windows XP SP2, Windows Vista, Windows 7,Windows 2003操作系統(tǒng)上. 能夠同時(shí)支持WMI, COM, ADO.NET, ADSI等已有的Windows管理模型.
根據(jù)微軟公司的計(jì)劃, 2009年將會(huì)實(shí)現(xiàn)所有微軟公司的GUI管理工具通過PowerShell作為中間層對(duì)服務(wù)程序進(jìn)行管理, 現(xiàn)階段例如Exchange 2007等已經(jīng)支持PowerShell的管理. 可以預(yù)期, 使用PowerShell管理Windows服務(wù)器指日可待.
目前PowerShell Version 2.0 已經(jīng)研發(fā)成功并廣泛應(yīng)用于新系統(tǒng)Windows Vista。
這項(xiàng)全新的技術(shù)提供了豐富的控制與自動(dòng)化的系統(tǒng)管理能力;而“腳本語言”(scripting languages)則是用來編寫程序的計(jì)算機(jī)語言。腳本語言通常都有簡(jiǎn)單、易學(xué)、易用的特性,目的就是希望能讓寫程序的人(開發(fā)者)快速完成程序的編寫工作。
Windows PowerShell 是微軟公司為 Windows 環(huán)境所開發(fā)的殼程式(shell)及腳本語言技術(shù),采用的是命令行界面。這項(xiàng)全新的技術(shù)提供了豐富的控制與自動(dòng)化的系統(tǒng)管理能力。
之前的專桉代號(hào)是 Monad,程式另一個(gè)名稱叫 Microsoft Shell(MSH)。
起源與目的
UNIX 系統(tǒng)一直有著功能強(qiáng)大的腳本(shell),Windows PowerShell 的誕生就是要提供功能相當(dāng)于 UNIX 系統(tǒng) BASH 的命令列殼程式,同時(shí)也內(nèi)建腳本語言以及輔助腳本程式的工具。
程式特性
一致性的設(shè)計(jì)讓所有工具和系統(tǒng)資料的使用語法、命名原則都相同。
腳本語言簡(jiǎn)單易學(xué),而且能支援現(xiàn)有的腳本程式和命令列工具。
內(nèi)含129種稱為 cmdlet 的標(biāo)準(zhǔn)工具,可用來處理常見的系統(tǒng)管理工作。
具備完整的擴(kuò)充功能,獨(dú)立軟體商或開發(fā)者都能很容易的自行擴(kuò)充。
cmdlet 是 Windows PowerShell 的指令,發(fā)音念法為 command-let。這相當(dāng)于 DOS 或其他殼程式的內(nèi)建指令,指令名稱的格式都是以連字號(hào)(-)隔開的一對(duì)動(dòng)詞和名詞,并且通常都是單數(shù)名詞;例如線上查詢說明的 cmdlet 指令為 get-help,名稱的動(dòng)詞部分大致有 get、set、add、remove 等等(字母都不分大小寫)。
技術(shù)基礎(chǔ)
Windows PowerShell 是以 .NET Framework 技術(shù)為基礎(chǔ),并且與現(xiàn)有的 WSH 保持回溯相容,因此它的腳本程式不僅能存取 .NET CLR,也能使用現(xiàn)有的 COM 技術(shù)。同時(shí)也包含了數(shù)種系統(tǒng)管理工具、簡(jiǎn)易且一致的語法,提升管理者處理,常見如登錄資料庫、WMI。Exchange Server 2007 以及 System Center Operations Manager 2007 等伺服器軟體都將內(nèi)建 Windows PowerShell。
PowerShell上手
具體步驟
相對(duì)于傳統(tǒng)的命令行工具,PowerShell對(duì)很多用戶來說都會(huì)顯得非常陌生。究竟PowerShell支持哪些命令呢?其實(shí)PowerShell可以管理系統(tǒng)進(jìn)程,服務(wù),注冊(cè)表,系統(tǒng)日志甚至證書等多項(xiàng)內(nèi)容。想知道它支持哪些命令,只需要在窗口內(nèi)輸入get-command并按下回車就可以了,這時(shí)屏幕上會(huì)顯示所有PowerShell支持的命令。
此處除了可以顯示命令的類型外,還會(huì)顯示名稱和描述。想查看某個(gè)命令的詳細(xì)用法就可以使用get-help命令來獲得幫助,比如要查看add-content命令的詳細(xì)內(nèi)容,就可以輸入get-help add-content,按下回車后就會(huì)顯示命令的名稱,摘要,語法,詳細(xì)說明,相關(guān)鏈接以及備注。要想更深入了解powerShell就要經(jīng)常獲取幫助哦。PowerShell應(yīng)用
PowerShell可以方便地查看和結(jié)束系統(tǒng)內(nèi)的進(jìn)程,這樣不僅可以監(jiān)控系統(tǒng)內(nèi)的可疑進(jìn)程,還可以輕松地將其關(guān)閉。要想查看當(dāng)前系統(tǒng)內(nèi)的進(jìn)程,就需要打開PowerShell,輸入 get-process后按下回車,這樣系統(tǒng)中進(jìn)程的句柄,進(jìn)程名,進(jìn)程占用處理器時(shí)間和進(jìn)程唯一標(biāo)識(shí)符就會(huì)顯示出來。
如果要結(jié)束某個(gè)或多個(gè)進(jìn)程,就需要記錄下進(jìn)程的唯一標(biāo)識(shí)符,在powerShell中輸入Stop-process后根據(jù)提示輸入一個(gè)或多個(gè)進(jìn)程的ID,按下回車后進(jìn)程即可被自動(dòng)結(jié)束。
用別名快速啟動(dòng)程序
對(duì)于某些常用的命令,powershell還支持將其設(shè)置為別名使用。比如需要給get-process設(shè)置別外,就可以在powershell中輸入set-alias gp get-process,其中g(shù)p為命令get-process的別名。按下回車后直接用gp就可以代替get-process命令了。
同理很多系統(tǒng)內(nèi)建的工具也可以在powershell中設(shè)置別名了,比如在powershell中輸入notepad后就可以啟動(dòng)記事本。要想更快地啟動(dòng)記事本,就可以為其設(shè)置別名,輸入set-alias np notepad后按下回車,這樣再次輸入np就可以打開記事本了。