2024-11-07 10:17 PM 26 2,762
故事要從八年前這篇漫談尾牙抽獎程式的公正性說起,我一向支持讓抽獎程式開源,以擺脫長久以來電腦抽獎常被人指責「黑箱」「作弊」卻百口莫辯的悲情。我認為「演算法及程式碼公開,以具公信力且無法操控的方式決定亂數種子,輸入亂數函數產生可預測的亂數決定抽獎結果,並確保演算結果能被反覆驗證」是面對不公質疑的終極解...
2024-11-05 11:30 PM 0 1,484
遇到用 PowerShell 爬網頁並簡單解析 HTML 取資料的需求,為此研究了做法,筆記備忘。 如果是 PowerShell 5.1,Invoke-WebRequest 背後是用 WebClient,傳回 Response 物件有個 ParsedHtml 屬性 背後是超古老的 IHTMLDocu...
2024-09-19 09:54 PM 0 3,526
系統維運會遇到的狀況:MRTG / PRTG 等監控服務顯示某台伺服器在半夜有一段時間異常 CPU 飆高,比對該時間並無已知的應用系統排程,想抓出當時是什麼程式在偷用 CPU? 由於發生時間是在半夜,總不能找人熬夜加班,登入主機守株待兔吧?我慣用的簡單解法是設個排程,每分鐘一次把當下執行中的程序、耗...
2024-09-17 05:09 PM 0 630
寫 PowerShell 呼叫 ClosedXML 彙整製作 Excel 報表已是我的日常,無奈學藝不精在一個簡單 Excel 範本套表任務踩坑,搞到三更半夜。最後發現是低級錯誤,深深上了一課。 重現問題程式如下,大家能一眼看出哪裡有問題嗎? $ErrorActionPreference = 'Co...
2024-09-15 09:15 AM 3 2,544
最近遇到一個需求,想將網址轉成 QR Code 附在 Word 文件上。 QR Code 的複雜度與文字長度有關,為了簡化 QR Code 降低掃瞄失敗率,我打算用縮網址服務將又臭又長的 https://www.facebook.com/darkthread.net/posts/pfbid02FB8...
2024-09-05 09:41 PM 0 1,057
我有個困擾,Outlook 收到幾位特定同事寄來內嵌圖片的信,圖片會在回信或轉信後消失,出現叉燒包圖示及無法顯示連結的影像。檔案可能已移動、重新命名或刪除。請檢查連結是否指向正確的檔案及位置。/ The linked image cannot be displayed. The file may h...
2024-09-04 09:07 PM 1 852
PowerShell 與 .NET 工作目錄不同步是剛開始寫 PowerShell 常會踩到的坑之一。 用下面的例子復習這個問題: 我們在 D:\ 下啟動 PowerShell [1],接著切到 D:\sub 資料夾[2],寫入 .\test.txt,此時用 Get-Content .\test....
2024-08-02 10:00 PM 2 1,712
故事從我想在兩個獨立執行 PowerShell 程序間傳輸資料說起。 最開始的想法是寫個迷你 WebAPI,但是寫 WebAPI 不是 PowerShell 的強項,改用 C# 實現有點繞遠路,於是我想起 Named Pipe,一個簡單輕巧的 IPC 選項。過去沒認真研究過,剛好利用機會讓技能樹多長...
2024-07-31 11:03 PM 1 976
關於在 PowerShell 使用多執行緒平行執行作業,先前介紹過 Start-Job。 Start-Job 會在背後啟動另一個 Process 跑 ScriptBlock,寫法較簡單但有兩個明顯缺點: 啟動一整個 Process 的成本不低,因此 Start-Job 明顯較笨重,效能也差,慘輸給...
2024-07-08 10:36 PM 0 1,389
為防止服務被濫用、伺服器過載及確保公平性,OpenAI 官方及 Azure 的 OpenAI API 都設有速率限制(Rate Limit),限定每分鐘請求數(RPM)及 Token 數量(TPM)上限。這是用 ChatGPT API 跑批次作業常要面對的問題,上回 PowerShell 整合 Ch...
2024-07-04 09:41 PM 3 2,073
處理資料時請 ChatGPT 幫忙已成日常,就算是寫 PowerShell 時也不例外。因此,我想要有個函式,希望能做到傳 Prompt 批次呼叫 ChatGPT API 執行翻譯、摘要等的任務,隨時隨地想要 AI 就有 AI。 舉個例子,假設我有個 JSON 檔 demo.json: [ ...
2024-06-22 10:48 PM 0 3,123
手邊有個需求,要對放進某個資料夾進行特別處理。為了方便展示及說明,我們假想一個簡單的檔案分類功能,會自動將放進資料夾中的圖檔搬去 image 資料夾,.txt/.html/.xml 搬去 text 資料夾。 這類需求,無腦做法是設個排程定期輪詢(Polling),掃瞄該目錄是否出現新檔案,若有就依附...
2024-06-18 10:48 PM 0 1,556
要查詢有哪些帳號或群組可以登入 Windows 本機操作,最簡單的做法是使用「本機安全性原則」查詢「使用者權限指派/允許本機登入」,而所謂「允許本機登入」對映的是名為 SeInteractiveLogonRight 的 Windows 使用者權限。延伸閱讀:使用 PowerShell 設定使用者權限...
2024-06-06 11:11 PM 23 1,854
我有個小需求是要檢查專案程式檔是否混雜 Unicode、BIG5 等非 UTF-8 編碼,類似任務過去用 C# 寫過,例如:BIG5 GB2312繁簡編碼快篩、潛盾機-解決VS2015程式檔BIG5相容問題,為了方便在工作上應用,我想寫個 PowerShell 版,以上是本次的企劃。 由於只需識別 ...
2024-05-09 11:42 PM 4 1,860
想在 PowerShell 中將 CSV 轉成 Excel 或將 Excel 轉成 CSV。例如,將以下的 CSV: 轉成以下格式的 Excel: 嚴格來說,這類轉換用手工作也不算難事,Excel 開啟 CSV 置中上色再調成自動寬度就好,但大家知道我性急直逼王藍田,同樣動作多做兩次就想翻桌。心...
2024-05-06 10:28 PM 0 1,025
自己搞出來的冷門需求,自己解決。 先前分享過,遇到用環境變數儲存 API Key 的需求,正常人幾乎都是明碼存入了事,某人因資安偏執發作,硬要用 Windows DPAPI 加密才安心。當場景推到 Python,再度遇上從環境變數讀 API Key 的需求,明明已有加密版又另外明碼存一份感覺是個餿主...