Category: powershell

這是前陣子寫 PowerShell 我常踩到的小雷,大多發生在手動下指令的測試階段。 例如,在 PowerShell 裡我用 Set-Location (或使用 cd 指令別名) 將所在目錄切換成 X 資料夾,後續用 Out-File 寫入 ".\Test.json",Get-C...

前篇文章提到 VSSetup PowerShell Module,在一般連網環境用 Install-Module 可自動下載安裝: 但如果主機處在連不到網際網路的網段,Install-Module 指令會冒出如下錯誤: 這篇就來介紹如何在離線環境安裝 PowerShell。參考:Manual P...

Cookie 安全性近年來常成為網站弱點掃瞄或滲透測試的重點,其中常被糾舉彈劾的點是: Cookie 應限定加密通訊(SSL/TLS)時傳遞,降低被竊聽外流的風險。 Cookie 應限定伺服器讀取,禁止 JavaScript 透過 document.cookie 存取以防盜用。 HTTP 協定已...

一般要執行 MSBuild 指令,標準做法是由開始選單找到 Developer Command Prompt for VS 2019 或 Developer PowerShell for VS 2019: 而這兩個環境跟一般命令視窗的差別在於它會先執行 "X:\Program File...

PowerShell 執行環境以單執行緒為主,優點是程式邏輯直覺、簡單,但遇上呼叫遠端服務的大量批次操作,性急如王藍田的我,自然無法忍受一堆作業乾等單一窗口消化,這種情境就是要開多執行緒萬箭齊發才爽多線並行才合理! 寫 C# 多執行緒程式我已駕輕就熟,有 Parallel.For、ThreadPoo...

最近依舊是寫 PowerShell 多過 C# (雖然在 PowerShell 裡卯起來用 .NET 元件),開始進入見山不是山的階段,程式寫得更多之後,踩到一些奇怪特性,會覺得自己並不懂 PowerShell,哈! 下面這個範例是一個讓我吶喊「花惹發」的行為。我在函式裡建立 System.Data...

大家都知道,我寫 .NET 程式早已「無 LINQ 不歡」,上癮程度直逼「無 LINQ 吾寧死」 (LINQ or Die)(延伸閱讀:好 LINQ,不用嗎?)。這幾個月切到 PoewrShell 跑道,仗著它能無縫整合 .NET,遇到複雜一點的演算便想掏出 LINQ 解決問題。 但 LINQ 基於...

寫了一陣子 PowerShell,發覺自己跟它的陣列很不熟,老想著用 .NET LINQ 思維解題,有點吃力不討好。其實,PowerShell 陣列語法比 C# 靈活(例如: 索引可以是負數、用 .. 表示區間,+ 表示相對位置,註:C# 8.0 有加入一些)、ForEach()、Where() 也...

寫 PowerShell Script 時,針對較複雜或步驟較多的作業,我會在執行過程加上 Write-Host 或 Write-Output 顯示一些資訊,一方面是回報進度可避免操作者茫然焦慮,另一方面,若發生錯誤,這些線索是判斷問題點的重要依據。 PowerShell 新手的疑問是: Write...

計劃把原本的手工部署與設定操作逐步轉成 PowerShell Script。這樣做有幾個好處: 作業標準化,避免人為失誤 寫成腳本,不管誰來操作結果都一致,不會無人交接手藝失傳,也排除腦殘眼拙手滑出錯的風險, 大量部署或需重複執行時可節省可觀時間 例如要部署上百台機器的場合。 可設定排程自動化部署...

PowerShell 可以無縫整合 .NET 程式,威力無窮。但這也導致很多時候我搞不清楚這裡可以直接用 C# 寫法,還是該照 PowerShell 的規矩來? 新手上路階段,我最常踩到的坑就是多參數 PowerShell 函式的寫法。例如下面這段程式,大家猜猜輸出的結果是什麼? Hell? fun...

最近常在寫自動化及半自動化工作腳本,愈發覺得 PowerShell 好用,尤其能無縫整合 .NET 程式庫這點讓它威力無極限。但也開始學到一些實用但我之前沒學過的用法,會在 PowerShell FAQ 系列陸續整理分享。 【問題】PowerShell Function 如何接收外部函式作為輸入參數...

我有個需要中介伺服器轉接 WebAPI 請求的情境,ApWeb 主機與 ApiWeb 主機間網路不互通,故需要在中間網段架設 Proxy 串接,之前玩過 IIS ARR ,打算找台 IIS 設成 Reverse Proxy 負責轉送 ApWeb 主機發出的 WebAPI 請求。ARR 之前已設過幾次...

自從體驗過用 VSCode 開發 PowerShell 的便利性,VSCode 便成為我的奧林匹克指定 PowerShell 開發工具。但有個小問題,在 .ps1 寫中文會變亂碼。 從微軟官方文件 Understanding file encoding in VSCode and PowerShe...