1. 程式人生 > >從零開始——PowerShell應用入門

從零開始——PowerShell應用入門

薰薰熊的技術分享社群

 

隨筆 - 18  文章 - 0  評論 - 42

從零開始——PowerShell應用入門(全例子入門講解)

學習一門技術,不止要會,還要善用,例子就是帶你快速入門的最佳利器。本文就是要用例子,不,大量的例子來帶你走進PowerShell應用世界。

本文主要介紹一些PowerShell入門的基礎知識,對技術小白來說可以快速入門,對技術老鳥來說可以複習鞏固,廢話不多說,直接進入正題。

PowerShell,相信大家早已耳熟能詳,在上篇文章中給大家介紹了

PowerShell發展歷程,關於PowerShell的更多介紹,大家也可以參考這裡:https://msdn.microsoft.com/powershell/scripting/getting-started/fundamental/using-windows-powershell

1.   如何啟動PowerShell

現在的Windows系統中一般都集成了PowerShell,啟動方法有如下幾種:

a)       直接開始選單 -> 所有程式 ->  Windows PowerShell -> Windows PowerShell(不同系統可能路徑不一樣)。啟動後效果如下:

b)      開始選單 -> 執行(run) -> 輸入”PowerShell”。啟動成功後和上圖一樣。

c)       命令提示符(Command Prompt) -> PowerShell。啟動後效果如下:

啟動成功後就可以在裡面輸入要執行的命令了,這就是PowerShell的互動介面。

2.   如何執行程式、指令碼和已有的軟體

如果以前經常使用一些別的工具進行開發,可能會有一些可執行檔案、Perl指令碼、批處理檔案等,如果不想放棄這些,可以使用PowerShell直接執行它們。

a)       在系統路徑下執行程式、指令碼、批處理檔案或者其它可執行檔案,可以直接輸入檔名執行。比如我把一個Test.cmd檔案放在了”C:\Windows\System32”下, 就可以如下方式執行它:

b)      如果檔名字或路徑中有空格,需要用(')引號將命令擴起來,同時在前面加上符號(&),這種叫做呼叫操作:

c)       要運行當前目錄下的命令,需要檔名前加.\,如:

d)      要運行當前目錄下的命令,而且命令名字或路徑帶有空格,需要同時加上符號(&)和('):

3.   執行PowerShell命令

除了支援傳統的Windows可執行檔案,PowerShell還推出了一個功能強大的新的命令叫做cmdlet。所有的cmdlet命令規則都遵循動詞-名詞這種語法結構,如Get-Command、Get-Content等,如下Get-Command命令意思是獲取包含Process的所有命令集合:

其中輸入”Get-Command -Name *Process”的時候,不用輸入完整的命令名,PowerShell會幫助你使用Tab鍵來自動完成命令輸入,包括命令的名稱和引數的名稱,如這樣輸入即可:Get-Comm<Tab> -N<Tab> *Process。

4.   如何查詢指定命令以及命令詳情

a)       若要在PowerShell中執行一條任務,但苦於不知道用什麼命令的時候,這時就要查詢一個命令,可以使用Get-Command命令,並且它支援萬用字元。例子如下:

b)      若要檢視一個命令的作用,可以使用Get-Help命令。例子如下,還可以指定引數-Detailed、-Full、-Examples。

c)       由於PowerShell可以使用.NET Framework中的物件,因此要想檢視一個物件的屬性和方法,可以使用Get-Member命令。例子如下:

5.   如何在外部呼叫PowerShell指令碼

有時候可能需要從批處理檔案、定時任務或者其它非PowerShell程式呼叫PowerShell指令碼,語法:PowerShell “& ‘full path of the script’ arguments”。如下例子是從CMD呼叫PowerShell。

6.   如何獲知最後執行命令的狀態

PowerShell提供了兩個變數可以檢測最後執行的命令是否成功:$lastExitCode和$?。

$lastExitCode:數字型變數,返回最後指令碼或應用程式執行返回的退出碼或出錯級別:

$?:布林型變數,返回最後執行命令的成功還是失敗:

變數$?使用更通用的方式來描述最後的應用程式退出的狀態,在以下應用程式發生錯誤的時候,PowerShell會設定$?為False:

  • 應用程式退出碼非零;
  • cmdlet或指令碼輸出錯誤資訊;
  • cmdlet或指令碼捕獲到終止錯誤或異常。

當命令執行沒有錯誤的時候,PowerShell設定$?變數為True。

7.   如何計算命令執行時間

如果想計算一個命令執行時間,可以使用Measure-Command命令,如下:

8.   瞭解命令的別名

PowerShell一些內建命令都有別名,方便記憶和輸入,可以用Get-Help命令檢視別名,如下Get-Children的命令有三個別名:gci、ls和dir,輸入任意一個都可以列舉當前目錄。

9.   如何操作使用管理控制檯歷史命令

在PowerShell視窗中,按上下箭頭鍵可以尋找歷史命令進行呼叫,也可以執行Get-History命令查詢,用Invoke-History Id方式進行呼叫:

10. 如何重定向輸出

如果想把得到的結果輸出到檔案中,可以使用Out-File命令或者重定向操作符將命令輸出的結果儲存在檔案中:

11. 如何記錄PowerShell會話全文

如果想生成當前會話的記錄,可以執行Start-Transcript命令,它基於當前系統時間。如果想停止,執行Stop-Transcript:

12. 如何顯示物件屬性為列表或表格

使用Format-List和Format-Table命令,直接看例子:

 

Note:

  • 本文介紹的所有命令都可以用Get-Help獲取詳細資訊,瞭解詳情後才能夠更好的使用(學習使用PowerShell過程中Get-Help/Get-Command/Get-Member是最常用的三大命令,要學會善用)。
  • Windows PowerShell的基本使用方法完全不限於上述例子,學會這些,只是幫助入門,可以更好的繼續向下學習。
  • 未來會有繼續細緻的更新,敬請期待。

 

 

[原文:http://www.cnblogs.com/lavender000/p/6935589.html,來自永遠薰薰]