The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何透過 PowerShell 快速建立 Hyper-V 伺服器中的虛擬機器

我現在已經很少在公司內部部署測試機的 VM 了,我通常都直接在 Azure 上面部署測試機,用完就砍掉,透過 Azure CLI 基本上兩分鐘就可以搞定一台,非常方便。不過,我們有個專案的測試機所需的負載比較大,開在雲端比較燒錢,所以還是在內部部署比較划算,但設定的步驟都快忘光了。這篇文章我打算記錄一下這個過程,提供日後參考之用。

... 繼續閱讀 ...

PowerShell 如何判斷 Cmdlet 或 Function 回傳資料的筆數 (0, 1, >1)

老實說,我在寫 PowerShell 的時候,偶爾會遇到一些非常葩的設計,很多時候不深入探究,根本就無法理解。以我今天要寫的這篇文章為例,當你執行一個 Cmdlet 並回傳資料時,當你可能拿到 0 筆、1 筆、超過 1 筆的情況時,正常人應該會覺得我們應該會得到一個「陣列」,但是你知道嗎,在 PowerShell 竟然可能會用到三種不同的處理方式,超怪的。因為這個問題實在遇到太多次了,這次我終於有空寫成文章,希望可以給遇到相同問題的人一些指引。

... 繼續閱讀 ...

如何在 Windows Server 2022 使用 containerd 執行 Windows Containers

其實 Windows Containers 都是以 Windows Server 為基礎的 base image 來運行的,但從 2021 年 9 月微軟發佈了 Updates to the Windows Container Runtime support 文章,預告了未來將不再使用 DockerMsftProvider API 來安裝 Docker EE (企業版) 軟體,之後預計會全部移轉到開源的 containerdMoby 或即將轉付費方案的 Mirantis Container Runtime 等等。這幾天我就想說來研究一下如何用 containerd 來執行 Windows Container,結果根本就是在玩踩地雷,我研究了足足三天才搞定完整可成功運行 Windows Containers 的 containerd 容器環境!這篇文章我將分享我在 Windows Server 2022 實作的完整過程。

... 繼續閱讀 ...

如何有效清空 PowerShell 中 PSReadline 的所有歷史紀錄

我的 如何打造一個華麗又實用的 PowerShell 命令輸入環境 文章 (影片在此) 幫助了不少人調整他手中的 PowerShell 命令列環境,其中有個功能是在打字的時候可以提示你先前打過的所有命令,非常方便且實用。但上周有同事問了我一個問題,他曾經在 PowerShell 中輸入過一些敏感資料,但是又找不到清除歷史紀錄的方法,問我該怎麼辦才好。這篇文章我將分享解決之道!

... 繼續閱讀 ...

在不同的作業系統下如何設定包含小數點的環境變數名稱

一般來說,我們極少會在環境變數上使用小數點( . )當成環境變數名稱來使用,但是在特定應用程式的條件下,可能被迫需要做出這樣的設定。像透過環境變數設定 .NET 應用程式的 LogLevel 就很可能會用到小數點來進行設定,本篇文章我將說明不同作業系統下的設定方式與潛在問題。

... 繼續閱讀 ...

使用 Windows PowerShell 輸出多行文字應注意的斷行陷阱

我今天遇到了一個棘手問題,原本想透過 PowerShell 寫入一個多行的文字,並放入 Azure Pipelines 執行。這樣的需求我寫過很多次了,不過當下的我突然想不起來確切的語法,所以上網 Google 找到了 PowerShell Multiline String 這篇文章,看到了一個解決方案,當下沒有多想,複製貼上就套用了,而且測試過確實有效,接著就是一連串的鬼打牆,浪費了寶貴的半小時生命。

... 繼續閱讀 ...