Windows PowerShell 微軟官方解釋
更新時(shí)間:2011年02月10日 04:51:54 作者:
Windows PowerShell 是一種新的、交互式的命令行和基于任務(wù)腳本編寫技術(shù),它針對(duì)系統(tǒng)管理任務(wù)提供全面的控制和自動(dòng)操作。
通過提供一百多種系統(tǒng)管理實(shí)用工具、一致的語法、及對(duì)普通管理數(shù)據(jù)更好地導(dǎo)航(如登記或 Windows Management Instrumentation (WMI)),Windows PowerShell 使 Windows 管理員提高了生產(chǎn)力。Windows PowerShell 還包括全面啟動(dòng) Windows 系統(tǒng)自動(dòng)化管理任務(wù)的腳本編寫語言。Windows PowerShell 語言是直觀的,并支持貴企業(yè)現(xiàn)有的腳本和命令行工具投入。Exchange Server 2007 和 System Center Operations Manager 2007 將利用 Windows PowerShell,提供改進(jìn)的命令行自動(dòng)操作。
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上手
具體步驟
在“運(yùn)行“中輸入”PowerShell“命令或是直接在傳統(tǒng)的命令行模式中輸入“PowerShell”都可以進(jìn)入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就可以打開記事本了。 [1]PowerShell還有著管理系統(tǒng)服務(wù),操作注冊(cè)表和眾多的網(wǎng)絡(luò)相關(guān)操作。
范例
停止所有目前執(zhí)行中的以"p"字元開頭命名的程式: PS> get-process p* | stop-process 停止所有目前執(zhí)行中的所有使用大于1000MB內(nèi)存的程式: PS> get-process | where { $_.WS -gt 1000MB } | stop-process 計(jì)算一個(gè)目錄下檔桉內(nèi)的位元組大?。? PS> get-childitem | measure-object -property length -sum 等待一個(gè)叫做"notepad"的程式執(zhí)行結(jié)束: PS> $processToWatch = get-process notepad PS> $processToWatch.WaitForExit() 將"hello, world!"字串轉(zhuǎn)為英文大寫字元,成為"HELLO, WORLD!": PS> "hello, world!".ToUpper() 在字串"string"的第1個(gè)字元后插入字串"ABC",成為"sABCtring": PS> "string".Insert(1, "ABC") 訂閱一個(gè)指定的RSS Feed并顯示它最近8個(gè)主題: PS> $rssUrl = "http://www.cnpowershell.net " PS> $blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl) PS> $blog.rss.channel.item | select title -first 8 把"$UserProfile"設(shè)定成數(shù)值"UserProfile"的環(huán)境變數(shù): PS> $UserProfile = $env:UserProfile
最新版本
目前的版本為 Windows PowerShell V2
常用開發(fā)工具
powershell plus(收費(fèi)) Windows Powershell ISE(V2自帶) PowerGUI(免費(fèi))
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上手
具體步驟
在“運(yùn)行“中輸入”PowerShell“命令或是直接在傳統(tǒng)的命令行模式中輸入“PowerShell”都可以進(jìn)入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就可以打開記事本了。 [1]PowerShell還有著管理系統(tǒng)服務(wù),操作注冊(cè)表和眾多的網(wǎng)絡(luò)相關(guān)操作。
范例
停止所有目前執(zhí)行中的以"p"字元開頭命名的程式: PS> get-process p* | stop-process 停止所有目前執(zhí)行中的所有使用大于1000MB內(nèi)存的程式: PS> get-process | where { $_.WS -gt 1000MB } | stop-process 計(jì)算一個(gè)目錄下檔桉內(nèi)的位元組大?。? PS> get-childitem | measure-object -property length -sum 等待一個(gè)叫做"notepad"的程式執(zhí)行結(jié)束: PS> $processToWatch = get-process notepad PS> $processToWatch.WaitForExit() 將"hello, world!"字串轉(zhuǎn)為英文大寫字元,成為"HELLO, WORLD!": PS> "hello, world!".ToUpper() 在字串"string"的第1個(gè)字元后插入字串"ABC",成為"sABCtring": PS> "string".Insert(1, "ABC") 訂閱一個(gè)指定的RSS Feed并顯示它最近8個(gè)主題: PS> $rssUrl = "http://www.cnpowershell.net " PS> $blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl) PS> $blog.rss.channel.item | select title -first 8 把"$UserProfile"設(shè)定成數(shù)值"UserProfile"的環(huán)境變數(shù): PS> $UserProfile = $env:UserProfile
最新版本
目前的版本為 Windows PowerShell V2
常用開發(fā)工具
powershell plus(收費(fèi)) Windows Powershell ISE(V2自帶) PowerGUI(免費(fèi))
您可能感興趣的文章:
相關(guān)文章
PowerShell中使用Out-String命令把對(duì)象轉(zhuǎn)換成字符串輸出的例子
這篇文章主要介紹了PowerShell中使用Out-String命令把對(duì)象轉(zhuǎn)換成字符串輸出的例子,即把對(duì)象轉(zhuǎn)為字符串的方法,需要的朋友可以參考下2014-08-08powershell玩轉(zhuǎn)SQL SERVER所有版本的方法
微軟發(fā)布了最新的powershell for sql server 2016命令行客戶端庫。文章介紹了與之相關(guān)的實(shí)用方法,需要的朋友可以參考下2017-10-10PowerShell中執(zhí)行Javascript的方法示例
這篇文章主要介紹了PowerShell中執(zhí)行Javascript的方法示例,特殊場(chǎng)景下可能會(huì)用到這個(gè)技巧,需要的朋友可以參考下2014-07-07PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置
這篇文章主要介紹了PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置,本文直接給出了實(shí)現(xiàn)方法和使用命令及輸出結(jié)果,需要的朋友可以參考下2015-03-03Powershell使用OpenFileDialog打開文件示例
這篇文章主要介紹了Powershell使用OpenFileDialog打開文件示例,本文直接給出示例代碼,需要的朋友可以參考下2015-03-03PowerShell 讀取性能計(jì)數(shù)器二進(jìn)制文件(.blg)記錄并匯總計(jì)算
由于監(jiān)控及報(bào)告需要,要統(tǒng)計(jì)性能計(jì)數(shù)器每天數(shù)值情況,確認(rèn)數(shù)據(jù)庫服務(wù)器的運(yùn)行狀況。若打開計(jì)數(shù)器填寫,比較麻煩,現(xiàn)在統(tǒng)計(jì)用 powershell 來讀取計(jì)數(shù)器的值2016-11-11PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧
這篇文章主要介紹了PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧,需要的朋友可以參考下2014-08-08