Powershell非常強大, 但他的指令式介面令很多使用者卻步
如果我們能夠製作一個GUI介面, 讓人可以用簡單的滑鼠做到想要的效果不是很好嗎?
現在市場上有Powershell Studio這個強大的製作工具
但如果我們只要做一些小手作程式, 可以試試用poshgui去建立
一個叫poshgui的網站, 他以圖像化的介面來拖拉設計介面
製成的powershell指令可以運行, 讓大家可以製作出各種GUI工具讓使用這達成目的
我現在就用一個非常簡單的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能產生出指令碼, 實在令工作變得簡單很多.
希望大家也可以多支持這個作者, 這種創意實在非常有用!