Category: powershell

最近常在寫自動化及半自動化工作腳本,愈發覺得 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...

先前談過防禦式 SQL 更新 - 用更嚴謹的態度執行正式資料庫更新作業,滿足保留資料更新前後對照、過程與預期不同自動煞車、方便檢閱複核... 等要求。純 SQL 語法簡單明瞭,但施行有些前題:操作環境必須有安裝 GUI 或 Command Line 的 SQL Client 工具、操作人員必須具備 ...

征服使用 WebClient 呼叫 WCF後的下個目標,自然是學會用 PowerShell 呼叫 WCF,繼續精進野外求生技能。 歷經這段時間的 PowerShell 實戰練習,我得到重要心得:.NET 開發者想用 PowerShell 處理未知情境有捷徑 - 先寫出 C# 程式達成目標再將程式邏輯...

分享私房小工具程式。 正式上線流程常需交付程式碼清單及異動程式碼,過去 TFS TFVC 時代我寫過類似的工具,改用 Git 之後,先前已分享過匯出 Git Commit 檔案並維持資料夾結構的寫法,當時是使用 PowerShell 加 xcopy。這回想更上層樓,兩個願望一次滿足 - 依資料夾結構...

使用 PowerShell 處理認證身分時,常會被要求以 System.Security.SecureString 型別傳遞密碼參數。Windows 作業系統針對 SecureString 有額外的安全防護,包含內容加密儲存、降低記憶體搬移或轉存次數、可透過 Dispose() 主動釋放記憶體......

又到了 PowerShell 練習時間。今天的題目是 - 如何在 PowerShell 引用 C# DLL? 借用上一篇介紹的 DotNetZip 當例子,我打算用 PowerShell 動態建立加密 ZIP 檔。 準備 PowerShell 腳本 Test.ps1 如下,並將 DotNetZip....

遇到一個需求,某個上傳 CSV 的 WebAPI 想改成讓使用者選擇檔案上傳,由於是暫時性 Workaround,不想為此多寫上傳檔案網頁。 呼叫 WebAPI 上傳檔案對程式人員是小事一椿,知道檔名路俓下個指令用 curl 或 PowerShell 就搞定,但對一般電腦使用者來說多少有點難度。 雖...

工作上遇到的需求。從他處取得程式碼在本機用 Git 弄了簡單版控(不需要伺服器就可以切分支比對修改歷程,寫錯能退回原版,超讚的),改了幾支程式想將修改結果打包合併回出處。 檔案分散在多層目錄,修改已放進同一 Commit。我想依其資料夾結構整理檔案,壓縮打包後在原專案解開後覆寫,之後簽入原專案的 T...

今天被問了一個問題:「如何快速查詢 IIS 特定站台的 Log 路徑?」 還不簡單,用 IIS 管理員介面一查就有。 等等,LogFiles 目錄下一堆 W3SVC1、W3SVC2、W3SVC3... 誰是誰? 之前的笨解法是看目錄或檔案時間跟檔案大小,再依各站台流量去猜,再不然就是打開 .lo...

Web 主機上 Log 成長頗快,我想寫個小程序將時間較久的 Log 以月為單位壓縮儲存節省空間。 實測壓縮後體積只剩 3%,足足減少 30 倍有餘,估計可省下大量空間。 類似的工具之前寫過 C# 版,這回試試用 PowerShell 解決。 Log 檔一天一個,壓縮排程設在每月第一天。執行時前一個...

遇到測試 AD 網域需要清理資料,再次靠 PowerShell 順利達成任務,筆記備忘。 案例一 清除停用員編帳號 因同步程式邏輯失誤,在測試網域殘留一堆已停用的 AD 帳號,有些掛在報廢 OU,致使誤判 OU 仍在使用中,形成大量垃圾資料。故我想使用 PowerShell 找出已停用的員編帳號自動...

先前整理過用 PowerShell 設定 IIS 的技巧,將原本 GUI 操作轉成指令檔,可以減少人為操作失誤的風險,並能實現自動化部署的理想。 最近又遇到類似需求,多學會一些安裝 IIS 與設定資料夾權限技巧,再整理一篇筆記溫故知新。 使用 PowerShell 安裝 IIS 如果是全新 Wind...