PowerShell

 

PowerShell概念

即開發代號爲Monad的命令行外殼和腳本系統管理工具。

  

powershell

PowerShell是微軟公司於2006年第四季度正式發佈的. 它的出現標誌着, 微軟公司向服務器領域邁出了重要的一步, 拉近了與Unix, Linux等操作系統的距離. PowerShell的前身命名爲Monad, 在2006年4月25日正式發佈beta版時更名爲PowerShel

 

 

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

起源與目的

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

程式特性

  一致性的設計讓所有工具和系統資料的使用語法、命名原則都相同。
 
  腳本語言簡單易學,而且能支援現有的腳本程式和命令列工具。
 
  內含129種稱爲 cmdlet 的標準工具,可用來處理常見的系統管理工作。
 
  具備完整的擴充功能,獨立軟體商或開發者都能很容易的自行擴充。
 
  cmdlet 是 Windows PowerShell 的指令,發音念法爲 command-let。這相當於 DOS 或其他殼程式的內建指令,指令名稱的格式都是以連字號(-)隔開的一對動詞和名詞,並且通常都是單數名詞;例如線上查詢說明的 cmdlet 指令爲 get-help,名稱的動詞部分大致有 get、set、add、remove 等等(字母都不分大小寫)。

 

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 = "輸入地址 "
 
  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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章