Windows PowerShell

维基百科,自由的百科全书
(重定向自PowerShell
跳转到: 导航, 搜索
跳过字词转换说明
Windows PowerShell
Windows PowerShell icon.png
Windows PowerShell 1.0 PD.png
Screenshot of a sample PowerShell session
開發者 微軟公司
初始版本 2006年11月14日
穩定版本 2.0/
2009年7月22日;2年前 (2009-07-22)
作業系統 Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
平台 x86, x86-64, Itanium
語言 多語言
發展狀態 活躍
類型 作業系統殼層
許可協議 MS-EULA
網站 Windows PowerShell
PowerShell腳本語言
多重編程範式: 指令式編程, Pipeline programming, 物件導向程式設計, 函數程式語言, 反射
发行时间
2006年
設計者
Jeffrey Snover, Bruce Payette (et al.)
實作者
微軟公司
, 安全, 推論, 動態
主要實作產品
Windows PowerShell, Pash[1]
啟發語言
C#, DCL, ksh, Perl, Ruby/LISP, CL, SQL, COMMAND.COM/ cmd.exe[2] Tcl[3]
Cross-platform[1]

Windows PowerShell微軟公司Windows環境所開發的殼程式shell)及腳本語言技術,採用的是命令行界面。這項全新的技術提供了豐富的控制與自動化的系統管理能力。

之前的專案代號是Monad,程式另一個名稱叫Microsoft Shell(MSH)。

目录

[编辑] 源起與目的

UNIX系統一直有著功能強大的殼程式(shell),Windows PowerShell的誕生就是要提供功能相當於UNIX系統的命令列殼程式(例如:shbashcsh),同時也內建腳本語言以及輔助腳本程式的工具。

[编辑] 程式特性

  • 一致性的設計讓所有工具和系統資料的使用語法、命名原則都相同。
  • 腳本語言簡單易學,而且能支援現有的腳本程式和命令列工具。
  • 內含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。

[编辑] 範例

  • 停止所有目前執行中的以"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://blogs.msdn.com/powershell/rss.aspx"
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

[编辑] 參考文獻

[编辑] 外部連結

个人工具
名字空间
操作
导航
帮助
工具
其他语言