使用Visual Studio 2015開發PowerShell指令碼

by vivid 27. 七月 2016 14:48

.NET Magazine國際中文電子雜誌
作 者:許薰尹
審 稿:張智凱
文章編號:N160717302

出刊日期: 2016/7/27
開發工具:Visual Studio 2015 Enterprise Update 1 、PowerShell Tools for Visual Studio 2015
版本:PowerShell Tools for Visual Studio 2015 3.0.375

PowerShell本身就提供兩個工具 Windows PowerShell (powershell.exe)與Windows PowerShell ISE(PowerShell_ISE.exe)來協助開發指令碼,那麼,為何筆者還要特別寫一篇文章來介紹如何使用Visual Studio 2015開發工具來開發PowerShell指令碼呢?原因無它,這是程式設計師天生的惰性使然,當你熟悉一項工具之後,大約只要這工具能做到的事,你就不會想要再額外學一個工具來做相同的事情。這樣就不必額外再去記憶要使用哪個快速鍵才能執行指令,本篇文章將介紹「PowerShell Tools for Visual Studio 2015」的基本功能,透過它可以撰寫、執行或測試你自己撰寫的PowerShell指令碼。

 

PowerShell Tools for Visual Studio 2015安裝

PowerShell Tools for Visual Studio 2015目前只支援Visual Studio 2015版本,且PowerShell 必需是V3以上版本。它提供的主要功能包含如下:

  • 建立並管理Power Shell Script與PowerShell Module 專案。
  • 使用Visual Studio 除錯器編輯、執行、並除錯本機或遠端的PowerShell指令。
  • 使用Visual Studio的除錯視窗,如「Locals」、「Watch」等,來監控變數以進行除錯。
  • 從Visual Studio叫用PowerShell interactive REPL視窗來執行PowerShell指令。
  • 支援程式碼片段(Code Snippet)功能。
  • 按F1可顯示輔助說明。

若要在Visual Studio 2015安裝這個擴充程式,可以在Visual Studio 2015工具,選取「Tools」-「Extensions and Updates」選項,從「Online」分頁,在右上角文字方塊輸入關鍵字搜尋「PowerShell Tools for Visual Studio 2015」工具來安裝,請參考下圖所示:

clip_image002

圖 1:PowerShell Tools for Visual Studio 2015安裝。

或是,自行到訪以下網址,手動下載檔案進行安裝:https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-6eee37294597。安裝畫面,請參考下圖所示:

clip_image004

圖 2:安裝PowerShell Tools for Visual Studio 2015。

待安裝完成後,會要求重新啟動Visual Studio 2015,然後就可以使用Visual Studio 2015來建立PowerShell專案。在Visual Studio 2015工具從「File」選單,選擇「New」-「Project」項目,在「New Project」對話盒中,選取左方「Installed」-「Templates」-「PowerShell」項目,你便可以看到可以建立兩種PowerShell專案:

  • PowerShell Module Project :用來撰寫模組。
  • Power Shell Script Project :用來撰寫指令碼。

只要適當的設定專案名稱,與專案存放路徑,按下「OK」鍵,就可以建立專案進行開發了,請參考下圖所示:

clip_image006

圖 3:建立Power Shell Script Project。

Visual Studio 2015的程式碼編輯視窗,類似Windows PowerShell ISE(PowerShell_ISE.exe)工具,在Visual Studio 2015程式碼編輯視窗撰寫指令時,工具會有智慧型提示(IntelliSense)的功能,也會有自動完成功能(Autocomplete),請參考下圖所示:

clip_image008

圖 4:工具智慧型提示的功能。

自動完成功能(Autocomplete)的操作方式和C#專案差不多,只要輸入幾個字,再按「ALT」 +「->」,或者是按「Tab」鍵。

你也可以隨時從Visual Studio 2015工具,切換到PowerShell ISE工具,只要從「Solution Explorer」視窗- 你的專案 –選取 ps1檔案,按滑鼠右鍵,從快捷選單選擇「Open with PowerShell ISE」選項,就會自動將指令開啟在PowerShell ISE工具,請參考下圖所示:

clip_image010

圖 5:切換到PowerShell ISE工具。

執行PowerShell指令

執行PowerShell指令的方式和一般Visual Studio 2015專案一樣,只要按F5便會自動執行,執行的結果會顯示在「Output」視窗上,請參考下圖所示:

clip_image012

圖 6:執行的結果會顯示在「Output」視窗上。

執行部分指令

若不想一次執行ps1檔案中所有的指令碼,可以選取想要執行的部分指令,再按下滑鼠右鍵,從快捷選單選取「Execution Selection」選項,請參考下圖所示:

clip_image014

圖 7:執行部分指令。

執行需傳遞參數的指令碼

若執行指令碼時,需要傳遞參數,可以在程式編輯視窗空白處,按下滑鼠右鍵,從快捷選單選取「Execution as Script with Parameters」選項,請參考下圖所示:

clip_image016

圖 8:執行需傳遞參數的指令碼。

接著,便會跳出一個「Edit Parameters」視窗,要求傳遞參數來執行指令碼,請參考下圖所示:

clip_image018

圖 9:編輯參數。

顯示輔助說明

若要查詢Cmdlet的說明,只需要選取Cmdlet然後按下鍵盤「F1」鍵,就會自動啟動瀏覽器,連結到微軟線上文件的網站,並顯示輔助說明文件,請參考下圖所示:

clip_image020

圖 10:顯示輔助說明。

PowerShell Command Explorer視窗

PowerShell Tools for Visual Studio 2015還提供了一個「PowerShell Command Explorer」視窗,協助撰寫指令碼。你可以從Visual Studio 2015工具的「View」-「Other Windows」-點選「PowerShell Command Explorer」選項來開啟這個視窗,請參考下圖所示:

clip_image022

圖 11:PowerShell Command Explorer視窗。

視窗上方的文字方塊,可以讓你輸入關鍵字來查詢指令,請參考下圖所示:

clip_image024

圖 12:查詢指令。

查詢到想用的指令之後,只要雙擊指令,可以看到更進階的選項,此工具提供圖型介面,讓你以類似設屬性的方式來產生指令,只要輸入屬性值,下方便會列出正確的Cmdlet語法,請參考下圖所示:

clip_image026

圖 13:使用工具產生指令。

若點選「Copy」按鈕,便可以複製產生出來的指令碼:

Get-Process -Name "Notepad" -ComputerName "localhost"

若點選「Details」按鈕便可以得到更詳細的說明,請參考下圖所示:

clip_image028

圖 14:查詢詳細的說明。

程式碼片段功能

PowerShell Tools for Visual Studio 2015也支援程式碼片段(Code Snippet)功能。只要按下「CTRL」 + 「K」,「X」組合鍵,就會啟動程式碼片段(Code Snippet)功能,請參考下圖所示:

clip_image030

圖 15:啟動程式碼片段(Code Snippet)功能。

例如,選取上圖的「For loop」項目,按下鍵盤「Tab」鍵,則自動產生出程式碼片段,預設游標會出現在指令碼中第一個黃色區塊,在輸入指令時,可以按下鍵盤「Tab」鍵自動切換到下一個黃色區塊,來加快程式撰寫的速度。按下鍵盤「Tab」鍵預設會由左自右、由上自下切換到下一個黃色區塊,此外也可以搭配「Shift」 +「Tab」鍵的組合,它剛好和「Tab」鍵作用恰恰相反,會自動切會到上一個黃色區塊程式所在的位置,請參考下圖所示:

clip_image032

圖 16:按下「Tab」鍵,可切換下一個黃色區塊。

除錯PowerShell指令碼

在指令碼中可以設定中斷點進行除錯,執行程式遇到中斷點便會自動進入中斷模式來進行除錯,請參考下圖所示:

clip_image034

圖 17:設定中斷點。

在中斷模式中,可以利用Visual Studio 2015的除錯工具進行除錯,像按下「F11」鍵可單步除錯,一次執行一行程式碼,請參考下圖所示:

clip_image036

圖 18:利用Visual Studio 2015的除錯工具進行除錯。

Locals視窗

在中斷模式中,Locals視窗會顯示區域變數的值,請參考下圖所示:

clip_image038

圖 19:使用Locals視窗監看變數值。

Watch視窗

在中斷模式中,你可以將變數或運算式拖曳到Watch視窗進行監看,請參考下圖所示:

clip_image040

圖 20:使用Watch視窗監看變數值。

PowerShell Interactive Window

PowerShell Interactive Window類似Windows PowerShell (powershell.exe)工具,可透過互動式方式執行指令。你可以從Visual Studio 2015的「View」-「Other Windows」-「PowerShell Interactive Window」選項開啟這個視窗,在命令列直接輸入指令按下「Enter」鍵,就會執行指令,執行的結果會直接顯示在視窗下方,請參考下圖所示:

clip_image042

圖 21:PowerShell Interactive Window。

Tags:

.NET Magazine國際中文電子雜誌 | Visual Studio | 許薰尹Vivid Hsu | PowerShell

新增評論




  Country flag
biuquote
  • 評論
  • 線上預覽
Loading






NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List