Category: powershell

在 PowerShell 要爬網站或存取網頁,Invoke-WebRequest 是不二選擇。有時我們會存取具有 Session 狀態的網頁,例如:要先登入後才能存取某些功能、或在 A 網頁儲存設定後到 B 網頁看結果。實務上 Session 概念多半依賴 Cookie 實現 (相關原理可參考 再探...

這是我開始寫 PowerShell 模組時常遇到的問題,迷惑了一陣子才恍然大悟。問題主要發生在模組開發者身上,情境是對模組改版重新 Publish,升級或重新安裝模組測試,有時能正確更新,有時卻一直用到舊版,有時還會誤以為沒修好,白繞一大圈。 例如之前文章的例子:Repository 上已經有 1....

要存取網站內容,PowerShell 有個 Invoke-WebRequest 滿足各式需求(延伸閱讀:野外求生系列- 無工具WebApi 徒手測試-黑暗執行緒),甚至呼叫 WCF 也難不倒它。 我有個需求是要偵測位於負載平衡設備(Network Load Balancer,以下簡稱 NLB)後方的...

先前踩過幾次雷,今天才搞懂是怎麼回事。 PowerShell 內建的 ConvertFrom-Json 及 ConvertTo-Json Cmdlet 可用來做 JSON 反序列化及序列化,串接 Pipeline 使用很方便,但有個問題 - 遇過好幾次狀況是在開發環境寫好 PowerShell 轉檔...

呼叫 PowerShell 模組函式或跑 .ps1 程式難免會遇到程式跑完但結果不如預期的狀況,要找出哪裡出錯,加 Log 是最直接有效的做法。而 PowerShell 有一件好用武器,允許事先在程式偷偷埋入偵錯資訊,平時不顯示,使用者遇到問題時可打開開關再跑一次,就能藉由顯示的偵錯訊息推測發生什麼...

每次接觸新語言、新工具或新平台,在正式投入生產前,我習慣先做好幾件事:確立專案通用框架並研究如何讓「修改程式 -> 編譯 -> 部署 -> 測試 -> 修改程式 -> ...」開發循環最佳化,消除無意義的重複手工,讓思緒專中在程式碼本身,才有機會進入神馳模式,充分享受 ...

專案遇到為 Excel (.xlsx) 設定讀取密碼的需求。OpenXML SDK 提供的工作表保護功能,只僅限於防止內容被修改,無法做到輸入密碼才能開啟。有不少 Excel 商業元件可以彌補這個缺口,授權費用約三五百塊美金,並不算貴。但由於其他的需求我用 ClosedXML 或 OpenXML S...

前幾天介紹如何把發展成熟的 PowerShell 小工具(.ps1) 發佈到私有 Repository 與其他成員共享,Install-Script 安裝到電腦環境,以後不必每次複製 .ps1,像內建 Cmdlet 一樣輸入 Script 名稱(不需加 .ps1,還有自動完)就能在電腦的任何角落執行...

PowerShell 在工作環境應用日益廣泛,陸續寫了不少小工具。初期我會把工具 .ps1 複製一份作為每次作業的附屬檔案,發現問題就改進,歷經幾次改版逐漸成熟,後來變成每次都複製同一版 .ps1,代表時候到了, 可以開放其他團隊成員安裝到電腦共用,比照 PowerShell 內建指令,不用每次附上...

同事在 Windows 10 高高興興寫了壓縮檔案的 PowerShell 小工具,丟上伺服器執行時踢到鐵板。 PowerShell 有個 Compress-Archive Cmdlet 可壓縮 ZIP 檔,甚至能串接 PowerShell 輸出管線,例如:Get-ChildItem -Path C...

SharePoint 2016 文件庫提供線上編輯或以桌面版 Word/Excel 開啟兩種選項。線上編輯可直接用瀏覽器編輯較方便且支援多人共同修改,但功能及操作流暢度遠不及桌面版,因此要做粗活兒大家多半還是會開本機的 Word/Excel 作業,反正改完會自動儲存同步回伺服器端也很方便。 用本機 ...

之前研究 PowerShell 中文編碼問題有個結論 - Windows 10 內建 PowerShell 5.1,在中文版 Windows 預設用 BIG5 編碼,PowerShell 6.0 之後會預設改用 UTF8。因此我一直以為 .\Do-Something.ps1 > output....

Word 有個保護文件功能,可限定只有特定欄位可以編輯,其餘部分唯讀,很適合設計表單供使用者填寫。參考:學會 Word 限制編輯與 Excel 保護工作表,給人填寫表單不出錯 by 電腦玩物 例如以下文件,就只有黃色部分可以填寫:(有人想要這張獎狀嗎?本站的小額捐款帳戶是... ) 但要注意,這種...