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