PowerShell(包括Windows PowerShell同埋PowerShell Core)係微軟公司開發嘅任務自動化同埋組態管理架構,由.NET Framework同埋.NET Core構建嘅命令行界面殼層嗰類腳本語言組成,一開始只係Windows元件,之後喺2016年8月18號開放源代碼同埋跨平台支援。 [3]

PowerShell
PowerShell Core 6.0 icon.png
PowerShell Core 7.1.5 with Windows Terminal.png
Windows Terminal入面運行嘅PowerShell 7
編程範式命令式管道物件導向函數式反射式
設計者杰弗裡·史諾威英文Jeffrey Snover(Jeffrey Snover)
布魯斯·帕耶特(Bruce Payette)
詹姆斯·特魯赫(James Truher) (et al.)
編程員Microsoft
第一次出現2006年11月14號, 16年之前 (2006-11-14)
穩定版本
7.2.2 / 2022年3月16號, 8個月之前 (2022-03-16)
類型系統強類型類型安全類型推論同埋動態類型
系統平台.NET Framework, .NET Core
操作系統Windows 7同埋佢嘅後續版本、LinuxmacOS
軟件授權MIT許可證[1](但係Windows組件仲係專有嘅
副檔名
  • .ps1 (腳本文件)
  • .ps1xml(XML文檔)
  • .psc1(控制台文件)
  • .psd1(數據文件)
  • .psm1(腳本模塊)
  • .pssc(會話配置文件)
  • .cdxml (Cmdlet定嘅XML檔案)
網站microsoft.com/powershell
啟發語言
KshPerlC#CL英文IBM i Control LanguageDCL英文DIGITAL Command LanguageSQLTclTk[2]Chef英文ChefPuppet

技術基礎

Windows PowerShell係用.NET Framework技術做基礎,仲同依家有嘅WSH英文WSH保持回溯相容,所以佢嘅腳本程式唔單止識存取.NET CLR,仲識依家嘅COM英文COM技術。同時都有埋幾隻系統管理工具、簡易一致嘅語法,提升管理者處理,常見好似登錄資料庫、WMI。Exchange Server 2007仲有System Center Operations Manager 2007等伺服器軟體都用Windows PowerShell嚟整。

範例

  • 停所有目前開緊嘅"p"字開頭嘅程式:
get-process p* | stop-process
  • 停所有目前開緊嘅食咗大過1000MB RAM嘅程式:
get-process | where { $_.WS -gt 1000MB } | stop-process
  • 計一個目錄入面嘅檔案大細:
get-childitem | measure-object -property length -sum
  • 將"hello, world!"字串轉做大階英文,變做"HELLO, WORLD!":
"hello, world!".ToUpper()
  • 訂閱一個指定嘅RSS Feed然後顯示佢最近8個主題:
$rssUrl = "http://blogs.msdn.com/powershell/rss.aspx"
$blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl)
$blog.rss.channel.item | select title -first 8

參考

  1. PowerShell LICENSE
  2. Snover, Jeffrey (2008-05-25). "PowerShell and WPF: WTF". Windows PowerShell Blog. Microsoft.
  3. Bright, Peter (2016-08-18). "PowerShell is Microsoft's latest open source release, coming to Linux, OS X". Ars Technica. Condé Nast.

睇多啲

出面網頁

官方網站
其他