Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 伺服器綜合

Windows Server 管理員 PowerShell 4.0 入門指南:自動化腳本實戰技巧

編輯:伺服器綜合

PowerShell 4.0 關鍵新特性

  • Desired State Configuration (DSC): 宣告式配置管理,將相同角色/設定套用至多節點,實現基礎設施即程式碼。
  • 簽名腳本支援強化: 更易部署受信任腳本,提升安全性。
  • Workflow(工作流): 基於 Windows Workflow Foundation,支援平行執行、持久化、检查點重啟,適合長時間跨裝置作業。
  • 向下相容: 可執行 v2/v3 腳本無縫遷移。

從 GUI 走向腳本自動化的心法

  1. 從範例起步: 參考資深管理員的實戰腳本(GitHub、TechNet Gallery、PowerShell Gallery),理解框架與慣用模式。
  2. 善用發現機制: Get-Command、Get-Help、Get-Member 快速探索 Cmdlet、參數與物件結構。
  3. 優化單行指令: 管線(|)、篩選(Where-Object)、投影(Select-Object)、排序(Sort-Object)串聯完成複雜任務。
  4. 腳本化原則: 參數化、錯誤處理(try/catch/finally)、日誌記錄、冪等性、註釋文檔。
  5. 版本控制: Git 管理腳本歷史,配合 CI/CD 自動測試部署。

常見管理場景腳本範例

1. 批次建立 AD 使用者

Import-Module ActiveDirectory
$users = Import-Csv .\new_users.csv
foreach ($u in $users) {
  New-ADUser -Name $u.Name -SamAccountName $u.Sam -UserPrincipalName $u.UPN `
    -Path "OU=Users,DC=corp,DC=local" -Enabled $true `
    -AccountPassword (ConvertTo-SecureString $u.Pwd -AsPlainText -Force) `
    -ChangePasswordAtLogon $true
}

2. 交換郵件伺服器管理(Exchange 2013+ 僅支援 PowerShell)

# 建立信箱
New-Mailbox -UserPrincipalName john@corp.local -Alias john -Database "MBX-DB01"
# 設定郵件流程規則
New-TransportRule -Name "External Warning" -SentToScope NotInOrganization `
  -PrependSubject "[External] " -Comments "標記外部來信"

3. Hyper-V 虛擬機自動化

# 關閉所有執行中 VM(優雅關機)
Get-VM | Where-Object State -eq Running | Stop-VM -TurnOff -Force
# 匯出 VM 至備份儲存
Get-VM -Name "Web01" | Export-VM -Path "\\nas\backup\hyperv"

4. Windows Server 2012+ 儲存空間管理

# 查看實體磁碟
Get-PhysicalDisk | Format-Table FriendlyName, MediaType, Size, OperationalStatus
# 建立儲存池
New-StoragePool -FriendlyName "Pool01" -PhysicalDisks (Get-PhysicalDisk -CanPool $true) -StorageSubSystemFriendlyName "Windows Storage*"
# 建立虛擬磁碟(鏡像/同位檢查)
New-VirtualDisk -StoragePoolFriendlyName "Pool01" -FriendlyName "VD01" -Size 500GB -ResiliencySettingName Mirror

進階技巧與資源

  • 遠端管理: Enter-PSSession、Invoke-Command、New-PSSession 配合 WinRM/HTTPS,實現多機並行操作。
  • 模組化: 將通用函式封裝為 .psm1 模組,發佈至內部 NuGet/PowerShell Gallery。
  • 除錯: ISE / VS Code + PowerShell Extension 斷點、變數監看、呼叫堆疊。
  • 社群資源: PowerShell Gallery、PowerShell GitHub、PowerShell Team Blog。

趣味小專案:用 PowerShell 寫遊戲/工具

# 簡易猜數字遊戲
$ans = Get-Random -Minimum 1 -Maximum 101
do { $g = Read-Host "猜 1-100"; if ($g -lt $ans) { "太小" } elseif ($g -gt $ans) { "太大" } } until ($g -eq $ans)
"恭喜!答案是 $ans"

PowerShell 是 Windows Server 管理自動化的核心引擎。從單行指令到 DSC、Workflow、模組化開發,逐步建立自動化資產庫,將重複性運維工作轉化為可版控、可測試、可重用的程式碼,是現代系統管理員必備核心競爭力。

Copyright © Windows教程網 All Rights Reserved