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