用poshgui網站協助製作一個GUI介面給Powershell

Powershell非常強大, 但他的指令式介面令很多使用者卻步

如果我們能夠製作一個GUI介面, 讓人可以用簡單的滑鼠做到想要的效果不是很好嗎?

現在市場上有Powershell Studio這個強大的製作工具

但如果我們只要做一些小手作程式, 可以試試用poshgui去建立

 

 

一個叫poshgui的網站, 他以圖像化的介面來拖拉設計介面

製成的powershell指令可以運行, 讓大家可以製作出各種GUI工具讓使用這達成目的

https://poshgui.com/#

我現在就用一個非常簡單的powershell來示範怎樣使用這個網站來製作GUI部份吧

網站不用登入已經可以開始製作專案, 但如果要儲存就要先登記帳號

作業畫面中間是設計部份, 左邊有可以使用的元素, 右邊是參數項目

一開始我們會有一個空白的Form, 我要製作一個簡單的東西

給使用者一個Textbox來輸入, 一個勾選項用以控制輸出, 還有一個按鍵來輸出使用者鍵入的資料

我們先把空白的Form變大一點, 點Text Box項目

再點一下在空白地方, 就能變出一個TextBox了

右邊我們要給這個Textbox一個名稱, 就叫UserInput吧

要注意這個name就是日後我們可以使用這個元素的Powershell Variable名稱了

再來我們也放一個Label去標示一個Textbox的用處

右邊我們也給它一個名稱 - name , 還有在text裡鍵入要顯示的文字

下面還可以控制項目的字體等等

再來我建立一個勾選項叫EnabletoRun

還有一個按鍵叫RunButton, 這個Button我們要為他建立一個滑鼠按鍵事件

在右方內容有一個叫Show Event的按鈕

我們要找一個叫MouseClick的事件名稱, 這樣我們就可以在之後控制

如果使用者做出按鍵這個動作會發生甚麼事情

這樣就做好介面了! 現在下方有個地方可以把產生出來的指令碼複製

在電腦上開啟Powershell ISE, 執行看看能不能製作出一樣的東西

ok的話我們在程式碼裡找出

#add here code trigger by the event這一句

剛剛我們建立了的Runbutton按鍵有一個MouseClick的動作

這個動作我們想要發生甚麼事情就要在這裡告訴Powershell了

我現在要做的是, 如果EnabletoRun這個勾選項是有勾的話,

就彈出一個訊息來顯示使用者輸入的東西, 就短短3行程序碼 

if ($EnabletoRun.CheckState -eq 1) {        <---檢查Enabletorun的數值是不是1 (有勾)
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup($UserInput.Text) }  <----顯示$UserInput這個Textbox現在的內容

再執行, 看看~很簡單吧!

這裡只作很簡單的介紹, 要製作GUI介面和動作以往都不是簡單 (要做點搜尋) 的事

現在poshgui能產生出指令碼, 實在令工作變得簡單很多.

希望大家也可以多支持這個作者, 這種創意實在非常有用!