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