最近公司內負責 IT 的同事希望能透過 Powershell 測試遠端主機的 HTTP ( Port 80 ) 是否斷線,在以前,大家可能都會安裝 telnet 工具程式來做 TCP 測試,但在伺服器安裝 telnet 工具程式不是個好習慣,因為早期經常有許多駭客程式會利用系統內建的 telnet 程式發動一些攻擊或測試,所以近幾代的 Windows 也都變成預設不安裝 telnet 程式,如果你希望在沒有安裝 telnet 程式的情況下完成 HTTP 連線偵測,就可以利用 Powershell 達成這個目標。不過,每次開啟 Powershell 都要輸入長長的指令或每次都要手動載入 ps1 指令檔不是很麻煩嗎?今天我就來說說怎樣讓這些常用的 ps1 指令檔腳本在你開啟 Powershell 的同時就自動載入完成。
... 繼續閱讀 ...
在 IIS 7.0 的時候,由於需要額外安裝 Windows PowerShell Snap-In for IIS 7.0 才能在 PowerShell 裡管理 IIS 7 的相關站台與設定,而且安裝好之後還會在「程式集」中建立一個 IIS PowerShell Management Console 的捷徑,開啟之後就可以立即開始使用這些好用的 Cmdlet。不過此功能到了 IIS 7.5 已經內建在作業系統裡,感覺好像是件好事,不過它卻把 Snap-In 的捷徑移除了,我在不熟悉 Windows PowerShell 的時候還真的找不到開啟的方法,費了些功夫才研究出來。
... 繼續閱讀 ...
不管是在 Linux 下撰寫 Bash 指令檔或是在 Windows 下撰寫批次檔,最近一次程式執行的回傳代碼是非常重要的撰寫技巧這可以協助我們在撰寫自動化指令檔時能夠更有效的處理程式執行失敗的狀況,便可進一步撰寫條件式處理各種執行失敗的狀況,但是在 Windows 與 Linux 各有什麼異同之處呢?讓我們繼續看下去。
... 繼續閱讀 ...
每次從 Linux 搬檔案到 Windows 或是將檔案從 Windows 搬移到 Linux 下都有可能會需要轉換不同的換行字元,由於 Linux 下慣用的換行字元是 \n 而在 Windows 下卻是 \r\n,所以經常會有一些莫名的問題發生,例如用 Notepad 開啟 \n 斷行的檔案就會全部亂成一團,而在 Linux 底下也偶爾會遇到些問題,這時我們就可以再傳檔之前先將檔案轉換過即可,這時也需要依賴一些工具幫我們做轉換。
... 繼續閱讀 ...
PowerShell 界在之前已經有個超強的 PowerShell Plus 開發工具,但由於是付費軟體($145),常在寫的人可以考慮買這套。但發最近我現了另一套免費的 PowerShell GUI 開發工具叫做 PowerGUI 也蠻強的,內建的 PowerGUI Script Editor 有整合開發環境、Intellisense ( 含指令說明 )、除錯工具、單步執行、變數視窗、…等等,算是非常方便的了。
... 繼續閱讀 ...
我今天發現 PowerShell 有個非常需要小心運用的地方,就是在執行非 .NET 應用程式時,當利用 Out-File 或 pipe 運算子 ( > ) 輸出至文字檔時很容易會有編碼錯亂的問題,如果一不小心設定,你輸出的所有文字全部都會變成亂碼,而且是無法復原的亂碼!
... 繼續閱讀 ...