2020-06-18 09:35 PM 1 1,457
最近依舊是寫 PowerShell 多過 C# (雖然在 PowerShell 裡卯起來用 .NET 元件),開始進入見山不是山的階段,程式寫得更多之後,踩到一些奇怪特性,會覺得自己並不懂 PowerShell,哈! 下面這個範例是一個讓我吶喊「花惹發」的行為。我在函式裡建立 System.Data...
2020-06-11 08:32 PM 1 10,575
同事報案,某 Visual Studio 套件噴出錯,同一套件在其他幾位同事的電腦則運作正常: 未處理的例外狀況: System.IO.FileNotFoundException: 無法載入檔案或組件 'netstandard, Version=2.0.0.0, Culture=neutra...
2020-06-10 09:01 PM 0 10,961
岳父家去年換過馬達的老爺除濕機,幾天前休克無法操作,面板顯示 Er 錯誤碼加人體舒適燈亮: 爬文找到一堆網友經驗分享,得知這是銀髮機(咦?)常見症狀,多是「除霜感知器」老化故障阻值下降,偵測模組判定異常停機。 去年才剛拆機換過馬達(還特別買了長十字起子,又派上用場),熟門熟路拆開外殼,找到插在機板...
2020-06-09 09:41 PM 1 9,351
偶爾我會想用樹狀圖表達資料夾跟檔案結構,像是要說明 MVC 網站的目錄結構,有 bin,其中有 .dll、App_Data 下有 data.json、Views 下有 Home,裡面有 Index.cshtml。就算用檔案總管抓圖,一次只能展開一個資料夾: 今天意外發現好方法,有個古老的 DOS ...
2020-06-07 10:21 PM 2 2,229
大家都知道,我寫 .NET 程式早已「無 LINQ 不歡」,上癮程度直逼「無 LINQ 吾寧死」 (LINQ or Die)(延伸閱讀:好 LINQ,不用嗎?)。這幾個月切到 PoewrShell 跑道,仗著它能無縫整合 .NET,遇到複雜一點的演算便想掏出 LINQ 解決問題。 但 LINQ 基於...
2020-06-05 09:33 PM 0 3,994
寫了一陣子 PowerShell,發覺自己跟它的陣列很不熟,老想著用 .NET LINQ 思維解題,有點吃力不討好。其實,PowerShell 陣列語法比 C# 靈活(例如: 索引可以是負數、用 .. 表示區間,+ 表示相對位置,註:C# 8.0 有加入一些)、ForEach()、Where() 也...
2020-06-02 09:28 PM 2 6,431
今天遇到的小問題,如下: 不長不短的人員姓名清單,想用 LINQ OrderBy 排序方便使用者尋找,排序結果有點怪,看不出依據為何。 加上 UT8 編碼後就清楚了,原來是依照 UTF8 編碼結果 byte[] 排列的: 爬文找到自己 9 年前的文章,才驚然想起,.NET 的字串排序可以靠 Cu...
2020-05-31 09:50 AM 0 4,261
寫 PowerShell Script 時,針對較複雜或步驟較多的作業,我會在執行過程加上 Write-Host 或 Write-Output 顯示一些資訊,一方面是回報進度可避免操作者茫然焦慮,另一方面,若發生錯誤,這些線索是判斷問題點的重要依據。 PowerShell 新手的疑問是: Write...
2020-05-30 08:10 AM 2 14,410
計劃把原本的手工部署與設定操作逐步轉成 PowerShell Script。這樣做有幾個好處: 作業標準化,避免人為失誤 寫成腳本,不管誰來操作結果都一致,不會無人交接手藝失傳,也排除腦殘眼拙手滑出錯的風險, 大量部署或需重複執行時可節省可觀時間 例如要部署上百台機器的場合。 可設定排程自動化部署...
2020-05-28 10:06 PM 4 6,932
學到一則有點驚悚的資安知識 - ASP.NET DLL 有可能因為管理操作不當,被人從 IIS 下載外流! 我們都知道 DLL 放在 ASP.NET bin 目錄時被視為程式,跟 App_Data 一樣具有特殊性,不能透過 httq://web-server/bin/Blah.dll 方式用瀏覽器下...
2020-05-24 11:52 AM 1 3,086
PowerShell 可以無縫整合 .NET 程式,威力無窮。但這也導致很多時候我搞不清楚這裡可以直接用 C# 寫法,還是該照 PowerShell 的規矩來? 新手上路階段,我最常踩到的坑就是多參數 PowerShell 函式的寫法。例如下面這段程式,大家猜猜輸出的結果是什麼? Hell? fun...
2020-05-23 12:23 PM 0 2,812
最近常在寫自動化及半自動化工作腳本,愈發覺得 PowerShell 好用,尤其能無縫整合 .NET 程式庫這點讓它威力無極限。但也開始學到一些實用但我之前沒學過的用法,會在 PowerShell FAQ 系列陸續整理分享。 【問題】PowerShell Function 如何接收外部函式作為輸入參數...
2020-05-22 08:55 PM 0 4,454
同事報案,某支 DOS Batch 排程無法執行,出現錯誤代碼 2147942667: Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "" of...
2020-05-21 10:24 PM 5 3,269
說來也算 .NET 的笨問題,但我第一時間竟有些迷惑,做個實驗強化信念。 疑問是下圖中的 Prop1、Prop2 是否每次取用都會重新執行,傳回不同結果? 完整程式如下: using System; using System.Collections.Generic; using System.Di...
2020-05-20 09:00 PM 0 1,994
前一篇文章我學到一個 .NET 組件編譯名詞 - Determinism。是指 .NET 編譯組件時停用加入 Timestamp 及隨機產生的 GUID 的做法,改以原始碼內容、工作路徑... 等條件為依據,確保相同程式碼在相同環境編譯出來的組件二進位內容完全一致,這有助於識別組件是否來自可信任來源...
2020-05-19 09:20 PM 0 3,521
在 Visual Studio 2019 想將 .NET Framework 專案設定版號自動跳號時卡住。 AssemblyInfo.cs [assembly: AssemblyVersion()] 上方的註解明明還提示可以寫成 1.0.* 讓系統自動跳號產生第三及第四段的 Build 及 Rev...