Windows PowerShell 微軟官方解釋
2020-10-29 21:10:24
供稿:網友
通過提供一百多種系統(tǒng)管理實用工具、一致的語法、及對普通管理數據更好地導航(如登記或 Windows Management Instrumentation (WMI)),Windows PowerShell 使 Windows 管理員提高了生產力。Windows PowerShell 還包括全面啟動 Windows 系統(tǒng)自動化管理任務的腳本編寫語言。Windows PowerShell 語言是直觀的,并支持貴企業(yè)現(xiàn)有的腳本和命令行工具投入。Exchange Server 2007 和 System Center Operations Manager 2007 將利用 Windows 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管理模型. 根據微軟公司的計劃, 2009年將會實現(xiàn)所有微軟公司的GUI管理工具通過PowerShell作為中間層對服務程序進行管理, 現(xiàn)階段例如Exchange 2007等已經支持PowerShell的管理. 可以預期, 使用PowerShell管理Windows服務器指日可待. 目前PowerShell Version 2.0 已經研發(fā)成功并廣泛應用于新系統(tǒng)Windows Vista。 這項全新的技術提供了豐富的控制與自動化的系統(tǒng)管理能力;而“腳本語言”(scripting languages)則是用來編寫程序的計算機語言。腳本語言通常都有簡單、易學、易用的特性,目的就是希望能讓寫程序的人(開發(fā)者)快速完成程序的編寫工作。 Windows PowerShell 是微軟公司為 Windows 環(huán)境所開發(fā)的殼程式(shell)及腳本語言技術,采用的是命令行界面。這項全新的技術提供了豐富的控制與自動化的系統(tǒng)管理能力。 之前的專桉代號是 Monad,程式另一個名稱叫 Microsoft Shell(MSH)。
起源與目的
UNIX 系統(tǒng)一直有著功能強大的腳本(shell),Windows PowerShell 的誕生就是要提供功能相當于 UNIX 系統(tǒng) BASH 的命令列殼程式,同時也內建腳本語言以及輔助腳本程式的工具。
編輯本段程式特性
一致性的設計讓所有工具和系統(tǒng)資料的使用語法、命名原則都相同。 腳本語言簡單易學,而且能支援現(xiàn)有的腳本程式和命令列工具。 內含129種稱為 cmdlet 的標準工具,可用來處理常見的系統(tǒng)管理工作。 具備完整的擴充功能,獨立軟體商或開發(fā)者都能很容易的自行擴充。 cmdlet 是 Windows PowerShell 的指令,發(fā)音念法為 command-let。這相當于 DOS 或其他殼程式的內建指令,指令名稱的格式都是以連字號(-)隔開的一對動詞和名詞,并且通常都是單數名詞;例如線上查詢說明的 cmdlet 指令為 get-help,名稱的動詞部分大致有 get、set、add、remove 等等(字母都不分大小寫)。
編輯本段技術基礎
Windows PowerShell 是以 .NET Framework 技術為基礎,并且與現(xiàn)有的 WSH 保持回溯相容,因此它的腳本程式不僅能存取 .NET CLR,也能使用現(xiàn)有的 COM 技術。同時也包含了數種系統(tǒng)管理工具、簡易且一致的語法,提升管理者處理,常見如登錄資料庫、WMI。Exchange Server 2007 以及 System Center Operations Manager 2007 等伺服器軟體都將內建 Windows PowerShell。
編輯本段PowerShell上手
具體步驟
在“運行“中輸入”PowerShell“命令或是直接在傳統(tǒng)的命令行模式中輸入“PowerShell”都可以進入PowerShell命令行模式。 相對于傳統(tǒng)的命令行工具,PowerShell對很多用戶來說都會顯得非常陌生。究竟PowerShell支持哪些命令呢?其實PowerShell可以管理系統(tǒng)進程,服務,注冊表,系統(tǒng)日志甚至證書等多項內容。想知道它支持哪些命令,只需要在窗口內輸入get-command并按下回車就可以了,這時屏幕上會顯示所有PowerShell支持的命令。 此處除了可以顯示命令的類型外,還會顯示名稱和描述。想查看某個命令的詳細用法就可以使用get-help命令來獲得幫助,比如要查看add-content命令的詳細內容,就可以輸入get-help add-content,按下回車后就會顯示命令的名稱,摘要,語法,詳細說明,相關鏈接以及備注。要想更深入了解powerShell就要經常獲取幫助哦。PowerShell應用 PowerShell可以方便地查看和結束系統(tǒng)內的進程,這樣不僅可以監(jiān)控系統(tǒng)內的可疑進程,還可以輕松地將其關閉。要想查看當前系統(tǒng)內的進程,就需要打開PowerShell,輸入 get-process后按下回車,這樣系統(tǒng)中進程的句柄,進程名,進程占用處理器時間和進程唯一標識符就會顯示出來。 如果要結束某個或多個進程,就需要記錄下進程的唯一標識符,在powerShell中輸入Stop-process后根據提示輸入一個或多個進程的ID,按下回車后進程即可被自動結束。 用別名快速啟動程序 對于某些常用的命令,powershell還支持將其設置為別名使用。比如需要給get-process設置別外,就可以在powershell中輸入set-alias gp get-process,其中gp為命令get-process的別名。按下回車后直接用gp就可以代替get-process命令了。 同理很多系統(tǒng)內建的工具也可以在powershell中設置別名了,比如在powershell中輸入notepad后就可以啟動記事本。要想更快地啟動記事本,就可以為其設置別名,輸入set-alias np notepad后按下回車,這樣再次輸入np就可以打開記事本了。 [1]PowerShell還有著管理系統(tǒng)服務,操作注冊表和眾多的網絡相關操作。
范例
停止所有目前執(zhí)行中的以"p"字元開頭命名的程式: PS> get-process p* | stop-process 停止所有目前執(zhí)行中的所有使用大于1000MB內存的程式: PS> get-process | where { $_.WS -gt 1000MB } | stop-process 計算一個目錄下檔桉內的位元組大小: PS> get-childitem | measure-object -property length -sum 等待一個叫做"notepad"的程式執(zhí)行結束: PS> $processToWatch = get-process notepad PS> $processToWatch.WaitForExit() 將"hello, world!"字串轉為英文大寫字元,成為"HELLO, WORLD!": PS> "hello, world!".ToUpper() 在字串"string"的第1個字元后插入字串"ABC",成為"sABCtring": PS> "string".Insert(1, "ABC") 訂閱一個指定的RSS Feed并顯示它最近8個主題: 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"設定成數值"UserProfile"的環(huán)境變數: PS> $UserProfile = $env:UserProfile
最新版本
目前的版本為 Windows PowerShell V2
常用開發(fā)工具
powershell plus(收費) Windows Powershell ISE(V2自帶) PowerGUI(免費)