PowerShell 常用指令整理與自動化教學

PowerShell 基本操作與實務案例完整教學|Windows 系統管理必備

PowerShell 基本操作與實務案例完整教學

PowerShell 是 Windows 系統管理與自動化操作的核心工具。本文從使用者角度整理完整 PowerShell 基本操作與實務案例,包括系統資訊查詢、檔案與資料夾管理、服務與程序管理、網路管理及使用者與權限管理,附指令模板、真實範例與操作說明,讓新手也能快速上手,輕鬆管理 Windows 系統並自動化日常任務。

系統資訊查詢

使用 PowerShell 可以快速查詢電腦硬體與作業系統資訊,方便排查問題或自動化收集系統資料。以下範例從使用者角度拆解指令,告訴你每個欄位要填什麼。

指令用途備註
Get-ComputerInfo | Select-Object <欄位名稱>查詢電腦資訊,可篩選欄位範例可查 CPU、記憶體、主機名稱等
Get-Date顯示系統日期與時間可搭配 -Format 格式化日期
Get-Host查詢 PowerShell 版本確認執行環境與 Cmdlet 支援

# 案例一:查本機 CPU 與主機名稱
Get-ComputerInfo | Select-Object CsName, CsProcessors
# 說明:顯示本機名稱與 CPU 型號、數量
# 運作方式:結果會列出 CsName 和 CsProcessors 欄位內容,方便檢查硬體資訊

# 案例二:查詢系統日期與時間
Get-Date -Format "yyyy/MM/dd HH:mm:ss"
# 說明:取得目前系統時間,並以指定格式顯示
# 運作方式:可用於比對日誌或自動化腳本記錄時間

# 案例三:查看 PowerShell 版本
Get-Host
# 說明:列出 PowerShell 版本與執行環境資訊
# 運作方式:幫助判斷 Cmdlet 支援與模組相容性

檔案與資料夾管理

PowerShell 可操作檔案與資料夾,包括列出、複製、移動、刪除。以下範例告訴你哪個欄位要填寫,並提供可執行實例。

指令用途備註
Get-ChildItem <資料夾路徑>列出目錄內容可搭配 -Recurse 遞迴列出子目錄
Copy-Item <來源檔案路徑> <目標資料夾路徑> -Force複製檔案或資料夾-Force 可覆蓋目標檔案
Move-Item <來源檔案路徑> <目標資料夾路徑> -Force移動檔案或資料夾-Force 可覆蓋目標
Remove-Item <檔案或資料夾> -Recurse刪除檔案或資料夾-Recurse 可刪除整個資料夾

# 案例一:列出 C:\Users 目錄內容
Get-ChildItem C:\Users -Recurse
# 說明:列出 Users 資料夾下所有檔案與子資料夾
# 運作方式:可快速查看目錄結構,適合排查檔案

# 案例二:複製檔案到備份資料夾
Copy-Item C:\Temp\config.xml D:\Backup\config.xml -Force
# 說明:將 config.xml 複製到 D:\Backup\ 資料夾,如果已存在會覆蓋
# 運作方式:適合自動化備份腳本

# 案例三:移動日誌檔案
Move-Item C:\Temp\log.txt D:\Archive\log.txt -Force
# 說明:將 log.txt 移到 Archive 資料夾,若存在同名檔案會覆蓋
# 運作方式:整理檔案或自動化歸檔

# 案例四:刪除舊資料夾
Remove-Item C:\Temp\OldFolder -Recurse
# 說明:刪除整個 OldFolder 資料夾
# 運作方式:清理暫存或不再使用的資料夾

服務管理

使用 PowerShell 可以管理 Windows 服務,包括查詢、啟動、停止。下方指令模板與範例,幫助你快速上手服務管理。

指令用途備註
Get-Service <服務名稱>查詢服務狀態不加參數列出所有服務
Start-Service <服務名稱>啟動服務確保服務未在運行時使用
Stop-Service <服務名稱>停止服務停止服務前需確認依賴關係
Restart-Service <服務名稱>重新啟動服務適合套用設定後重啟

# 案例一:查詢 Windows Update 服務狀態
Get-Service wuauserv
# 說明:檢查服務是否運行
# 運作方式:結果列出服務名稱、狀態及服務類型

# 案例二:啟動 Print Spooler 服務
Start-Service Spooler
# 說明:啟動列印緩衝服務
# 運作方式:確保可以使用印表機

# 案例三:停止 Windows Update 服務
Stop-Service wuauserv
# 說明:暫停自動更新服務
# 運作方式:避免更新干擾排程或安裝

程序管理

PowerShell 可查詢與管理進程,協助監控系統資源或終止不必要的程序。

指令用途備註
Get-Process <進程名稱>查詢進程資訊不加名稱列出所有進程
Stop-Process -Name <進程名稱> -Force終止進程-Force 強制終止

# 案例一:查詢 Chrome 進程
Get-Process chrome
# 說明:顯示所有 Chrome 進程資訊
# 運作方式:可查看 CPU、記憶體使用量

# 案例二:終止指定進程
Stop-Process -Name notepad -Force
# 說明:強制關閉記事本
# 運作方式:釋放資源或終止失去回應的程式

網路管理

PowerShell 可管理網路設定與檢查連線狀態,快速排查網路問題。

指令用途備註
Test-Connection <目標 IP 或主機名稱>測試連線類似 ping 指令
Get-NetIPAddress查詢本機網路設定顯示 IP、子網路、預設閘道
Get-NetAdapter查詢網卡狀態顯示連線狀態與速度

# 案例一:測試連線到 google.com
Test-Connection google.com -Count 4
# 說明:連線測試 4 次
# 運作方式:返回延遲時間,幫助排查網路問題

# 案例二:查詢本機 IP 設定
Get-NetIPAddress
# 說明:列出所有網卡 IP 資訊
# 運作方式:方便確認網路設定是否正確

使用者與權限管理

PowerShell 可管理本機帳號與群組,快速建立、查詢或刪除使用者帳號。

指令用途備註
Get-LocalUser查詢本機使用者列出帳號名稱與狀態
New-LocalUser -Name <名稱> -Password (ConvertTo-SecureString <密碼> -AsPlainText -Force)建立新使用者密碼需轉換成 SecureString
Remove-LocalUser -Name <名稱>刪除使用者慎用,會移除使用者資料

# 案例一:列出本機使用者
Get-LocalUser
# 說明:顯示所有本機帳號與啟用狀態
# 運作方式:快速查看現有帳號資訊

# 案例二:建立新使用者 testuser
New-LocalUser -Name "testuser" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
# 說明:建立帳號 testuser,密碼為 P@ssw0rd
# 運作方式:帳號建立完成後可加入群組或設定權限

# 案例三:刪除使用者 testuser
Remove-LocalUser -Name "testuser"
# 說明:刪除帳號 testuser
# 運作方式:帳號及相關資料將被移除,請小心使用

FAQ 常見問題

PowerShell 適合新手使用嗎?

PowerShell 非常適合新手,指令結構清楚且有實務案例演練,能快速掌握 Windows 系統管理與自動化操作。

如何查看 PowerShell 版本?

使用 Get-Host 指令可以查看版本,每個版本支援的 Cmdlet 不同,確認版本有助於選擇正確指令與模組。

如何備份檔案與資料夾?

使用 Copy-Item 指令搭配 -Force 可覆蓋已存在檔案,適合建立自動化備份腳本。

如何管理服務?

使用 Get-Service、Start-Service、Stop-Service 指令,可查詢及控制服務狀態,管理前建議先確認依賴關係避免影響系統運作。

    PAGE TOP