本文完整整理 Windows PowerShell 的系統維護與服務管理指令,包含服務啟動、停止、重啟、自動啟動設定、批次管理與常用維護指令,附範例與備註,適合系統管理員與 DevOps 團隊使用。
PowerShell 管理 Windows Service
Windows Service 是長時間運行的背景程式,如 IIS、SQL Server 或自訂服務。使用 PowerShell 可以快速啟動、停止、重啟服務,並支援批次操作與排程自動化。
基本指令與語法說明
Get-Service -Name "服務名稱":查看指定服務狀態Start-Service -Name "服務名稱":啟動服務Stop-Service -Name "服務名稱":停止服務Restart-Service -Name "服務名稱":重啟服務Set-Service -Name "服務名稱" -StartupType Automatic:設定服務開機自動啟動
操作範例
查看服務狀態
Get-Service -Name "wuauserv" # 查看 Windows Update 服務狀態
啟動服務
Start-Service -Name "wuauserv" # 啟動 Windows Update
停止服務
Stop-Service -Name "wuauserv" # 停止 Windows Update
重啟服務
Restart-Service -Name "wuauserv" # 重新啟動 Windows Update
設定自動啟動
Set-Service -Name "wuauserv" -StartupType Automatic # 設定開機自動啟動
批次管理多個服務
$services = @("wuauserv","Spooler","LanmanServer")
foreach ($svc in $services) {
Restart-Service -Name $svc
Write-Host "$svc 已重啟"
}
# 批次重啟服務,提高維護效率
排程自動化服務管理
schtasks /create /tn "CheckServices" /tr "powershell.exe -File C:\Scripts\ServiceCheck.ps1" /sc daily /st 03:00
# 將 PowerShell 腳本加入排程,每日自動檢查服務
PowerShell 常用維護指令
除了服務管理,PowerShell 提供多種系統維護指令,可協助檔案管理、使用者管理與系統監控。
使用者與群組管理
Get-LocalUser
New-LocalUser -Name "Jack" -Password (ConvertTo-SecureString "Pass123!" -AsPlainText -Force)
Remove-LocalUser -Name "Jack"
Add-LocalGroupMember -Group "Administrators" -Member "Jack"
檔案與資料夾管理
Get-ChildItem -Path C:\Windows\System32 -Recurse
Copy-Item -Path "C:\Temp\File.txt" -Destination "D:\Backup\" -Recurse
Move-Item -Path "C:\Temp\File.txt" -Destination "D:\Backup\"
Remove-Item -Path "C:\Temp\File.txt"
系統資訊與監控
Get-Process
Stop-Process -Name notepad
Get-EventLog -LogName System -Newest 20
Clear-EventLog -LogName System
自動化排程任務
schtasks /create /tn "BackupTask" /tr "powershell.exe -File C:\Scripts\backup.ps1" /sc daily /st 02:00
schtasks /run /tn "BackupTask"
schtasks /delete /tn "BackupTask"
FAQ 常見問題
如何查看 Windows Service 狀態?
使用 Get-Service -Name '服務名稱' 查看服務狀態,快速了解是否正在運行。
如何啟動或停止 Windows Service?
使用 Start-Service 或 Stop-Service 搭配 -Name 指定服務即可操作。
如何設定服務自動啟動?
使用 Set-Service -Name '服務名稱' -StartupType Automatic 設定服務開機自動啟動。
PowerShell 可以批次重啟多個服務嗎?
可以使用 foreach 迴圈搭配 Restart-Service 指令批次操作多個服務。
如何查詢本地使用者帳號?
使用 Get-LocalUser 查看系統所有本地使用者帳號。
如何新增本地使用者並設定密碼?
使用 New-LocalUser -Name '帳號名稱' -Password (ConvertTo-SecureString '密碼' -AsPlainText -Force) 建立新使用者帳號。
如何查看系統檔案與資料夾?
使用 Get-ChildItem -Path '資料夾路徑' 列出資料夾內檔案與子目錄,搭配 -Recurse 可遞迴查詢。
如何自動化排程 PowerShell 任務?
使用 schtasks /create 搭配腳本檔案建立每日或每週自動執行的排程任務。
