環境

作業系統:Windows 11
程式碼編輯器:Visual Studio Code
紀錄時間:2026年9月

Windows PowerShell和PowerShell 7+

Windows PowerShell是舊版的Windows內建工具(只支援Windows),而新一代的PowerShell是跨平台的現代化開源版本。

  • Windows PowerShell:只能在Windows作業系統上執行,版本停留在5.1,且是Windows系統的一部分無法移除。
  • PowerShell (v6/v7+):是跨平台的,支援Windows、macOS和Linux。

PowerShell 7+

安裝

打開Windows PowerShell,輸入winget install Microsoft.PowerShell

更新

打開PowerShell,輸入winget upgrade Microsoft.PowerShell

其他

所有winget安裝軟體更新winget upgrade --all

最新的PowerShell可以用linux指令嗎?

這取決於你把PowerShell執行在哪個作業系統上。
當你在Linux或macOS上執行PowerShell,100% 可以直接使用真實的Linux指令,因為底層就是Linux系統。
當你在Windows上執行最新版PowerShell時,可以執行「部分常用」的Linux指令。

為了讓習慣Linux的人無痛上手,微軟在Windows的PowerShell內建了許多外號(別名)。當你輸入Linux指令時,它會在背後自動翻譯成對應的PowerShell指令,ls, cd, pwd, mkdir都能用。

雖然這些基礎指令能動,但不能加上Linux的進階參數。例如輸入ls -la會報錯,因為背後的Windows Get-ChildItem看不懂 -la是什麼。

如果你的Windows有安裝 WSL (Windows子系統Linux),你只要在指令前面加上wsl,就能在最新版PowerShell裡調用100% 真正的Linux指令,
範例:wsl ls -la /home

WSL

安裝

打開PowerShell,輸入wsl --install
這個指令會自動幫你啟用Windows的虛擬化功能,並預設下載安裝最新的Ubuntu系統。
當視窗提示安裝完成後,手動重新啟動你的Windows 11電腦。這是啟用虛擬化核心必經的步驟。
重啟電腦並進入Windows後,系統會自動跳出一個黑色的Ubuntu命令列視窗(如果沒跳出,請去開始功能表搜尋「Ubuntu」並打開)。

設定帳號密碼:

Enter new UNIX username:
New password:
Retype new password:

當你看到綠色的文字(例如user@DESKTOP-XXXXXX:~$)時,就代表你已經成功登入真正的Linux系統了。現在,你可以在你原來的最新版PowerShell視窗裡,直接輸入wsl ls -la來調用Linux指令,或者輸入wsl直接切換進去Linux環境。

更新

WSL有雙版本,Microsoft Store版本(預設)和在線來源 / 內建元件版 (Inbox),一般用戶直接裝的是前者的版本。

以前的WSL是深深埋在Windows 11系統檔案裡的「一個元件」。這導致微軟工程師每次寫好WSL的新功能,都不能馬上更新,一定要等到一年一度的Windows大更新時才能塞進去。

現在微軟決定把WSL包裝成一個獨立App丟到Microsoft Store上。這樣一來,Linux有任何安全漏洞或新功能,工程師今天寫好、明天就能在商店上架讓你更新,完全不需要驚動Windows系統。

只要Windows 11平常會連上網路,Microsoft Store每天都會在電腦閒置時,在背景自動檢查並下載WSL的最新修補程式和新功能。完全不需要打開商店去點更新。

手動強迫更新:PowerShell裡輸入wsl --update

WSL檔案大小

主程式

WSL本身只是Windows內建的一個輕量化虛擬層,幾乎不佔空間。

WSL在Windows中是以一個虛擬硬碟檔案(副檔名為 .vhdx)的形式存在。它的特性是:會自動變大:你在Linux裡下載檔案、安裝軟體,這個檔案就會跟著變大。不會自動變小,即使你後來在Linux裡把那些檔案刪除了,Windows上的 .vhdx檔案依然會維持在最大時的容量,不會自動縮回。

微軟在較新版本的WSL中加入了一個新功能,可以讓Linux檔案刪除時,自動把空間還給Windows。你只需要在C槽的使用者資料夾(例如C:\Users\你的使用者名稱\)下,建立一個名為 .wslconfig的文字檔,並寫入以下內容即可:

[wsl2]
autoMemoryReclaim=gradual
sparseVhd=true

預設的WSL Ubuntu

剛裝好、乾淨的Ubuntu系統大約只佔2到3 GB的硬碟空間。完全沒有圖形介面。 它一打開就是一個全黑的終端機(CLI),只能用鍵盤打指令。它是專門下指令用的,裡面什麼軟體都沒附,要自己去下載。

Windows 11系統本身就已經準備好了一個共用的Linux核心(Kernel)。下載的WSL Ubuntu不需要自己帶一份核心,而是直接借用Windows現成的核心來跑。它寄生在Windows裡面,所有的硬體溝通全部由Windows代勞,因此不需要任何實體硬體驅動程式。

其他

Windows PowerShell ISE

它是舊版Windows PowerShell的「加強版雙視窗介面」(ISE意思是整合指令環境)。上方可以讓你像寫筆記本一樣寫好幾行腳本,下方直接看執行結果。這是十幾年前的舊產物,微軟已經停止更新它了,不支最新版PowerShell。

處置:無視

Power Automate

這是一個「免寫程式」的日常工作自動化工具。如果你每天重複做一些無聊的辦公室瑣事,你可以用這個軟體「錄製」你的動作,讓電腦每天自動幫你跑。

處置:無視

Azure Cloud Shell

微軟有一個巨大的雲端伺服器服務叫做Azure(跟亞馬遜的AWS、Google的GCP一樣)。這個程式是一個快捷鍵,讓企業的網管人員可以一鍵連線到他們租用的「雲端主機」去下指令。

處置:無視