Category: powershell

故事要從八年前這篇漫談尾牙抽獎程式的公正性說起,我一向支持讓抽獎程式開源,以擺脫長久以來電腦抽獎常被人指責「黑箱」「作弊」卻百口莫辯的悲情。我認為「演算法及程式碼公開,以具公信力且無法操控的方式決定亂數種子,輸入亂數函數產生可預測的亂數決定抽獎結果,並確保演算結果能被反覆驗證」是面對不公質疑的終極解...

遇到用 PowerShell 爬網頁並簡單解析 HTML 取資料的需求,為此研究了做法,筆記備忘。 如果是 PowerShell 5.1,Invoke-WebRequest 背後是用 WebClient,傳回 Response 物件有個 ParsedHtml 屬性 背後是超古老的 IHTMLDocu...

系統維運會遇到的狀況:MRTG / PRTG 等監控服務顯示某台伺服器在半夜有一段時間異常 CPU 飆高,比對該時間並無已知的應用系統排程,想抓出當時是什麼程式在偷用 CPU? 由於發生時間是在半夜,總不能找人熬夜加班,登入主機守株待兔吧?我慣用的簡單解法是設個排程,每分鐘一次把當下執行中的程序、耗...

寫 PowerShell 呼叫 ClosedXML 彙整製作 Excel 報表已是我的日常,無奈學藝不精在一個簡單 Excel 範本套表任務踩坑,搞到三更半夜。最後發現是低級錯誤,深深上了一課。 重現問題程式如下,大家能一眼看出哪裡有問題嗎? $ErrorActionPreference = 'Co...

PowerShell 與 .NET 工作目錄不同步是剛開始寫 PowerShell 常會踩到的坑之一。 用下面的例子復習這個問題: 我們在 D:\ 下啟動 PowerShell [1],接著切到 D:\sub 資料夾[2],寫入 .\test.txt,此時用 Get-Content .\test....

為防止服務被濫用、伺服器過載及確保公平性,OpenAI 官方及 Azure 的 OpenAI API 都設有速率限制(Rate Limit),限定每分鐘請求數(RPM)及 Token 數量(TPM)上限。這是用 ChatGPT API 跑批次作業常要面對的問題,上回 PowerShell 整合 Ch...

處理資料時請 ChatGPT 幫忙已成日常,就算是寫 PowerShell 時也不例外。因此,我想要有個函式,希望能做到傳 Prompt 批次呼叫 ChatGPT API 執行翻譯、摘要等的任務,隨時隨地想要 AI 就有 AI。 舉個例子,假設我有個 JSON 檔 demo.json: [ ...

手邊有個需求,要對放進某個資料夾進行特別處理。為了方便展示及說明,我們假想一個簡單的檔案分類功能,會自動將放進資料夾中的圖檔搬去 image 資料夾,.txt/.html/.xml 搬去 text 資料夾。 這類需求,無腦做法是設個排程定期輪詢(Polling),掃瞄該目錄是否出現新檔案,若有就依附...

要查詢有哪些帳號或群組可以登入 Windows 本機操作,最簡單的做法是使用「本機安全性原則」查詢「使用者權限指派/允許本機登入」,而所謂「允許本機登入」對映的是名為 SeInteractiveLogonRight 的 Windows 使用者權限。延伸閱讀:使用 PowerShell 設定使用者權限...

我有個小需求是要檢查專案程式檔是否混雜 Unicode、BIG5 等非 UTF-8 編碼,類似任務過去用 C# 寫過,例如:BIG5 GB2312繁簡編碼快篩、潛盾機-解決VS2015程式檔BIG5相容問題,為了方便在工作上應用,我想寫個 PowerShell 版,以上是本次的企劃。 由於只需識別 ...

想在 PowerShell 中將 CSV 轉成 Excel 或將 Excel 轉成 CSV。例如,將以下的 CSV: 轉成以下格式的 Excel: 嚴格來說,這類轉換用手工作也不算難事,Excel 開啟 CSV 置中上色再調成自動寬度就好,但大家知道我性急直逼王藍田,同樣動作多做兩次就想翻桌。心...

自己搞出來的冷門需求,自己解決。 先前分享過,遇到用環境變數儲存 API Key 的需求,正常人幾乎都是明碼存入了事,某人因資安偏執發作,硬要用 Windows DPAPI 加密才安心。當場景推到 Python,再度遇上從環境變數讀 API Key 的需求,明明已有加密版又另外明碼存一份感覺是個餿主...