
如果您仍在依賴自訂 PowerShell 腳本進行簡單的文件傳輸或產生 Excel 報告,現在是時候簡化您的工作流程了。預先建置的 PowerShell 模組可以比您手動編寫的任何腳本更有效率地處理大多數日常任務。
要開始使用這些模組,請確保您至少執行的是 PowerShell 5.1。雖然許多模組在各個平台上都與 PowerShell 7 相容,但有些模組可能僅限於 Windows。透過調整執行策略來啟用腳本執行也至關重要,如下所示:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force
安裝模組時,請務必使用-Scope CurrentUser參數以消除對管理權限的需求。
6 PSReadLine
PSReadLine 是 PowerShell 的預設功能,但即使是經驗豐富的使用者也常常未被充分利用。此模組透過語法高亮、多行編輯和預測性 IntelliSense 等功能增強了您的命令列體驗。

若要取得 PSReadLine 的最新版本,請使用以下指令:
Install-Module -Name PSReadLine -Scope CurrentUser -Force
啟用 IntelliSense 將增強你的命令歷史記錄,並在你輸入時提供建議。使用以下命令激活它:
Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView
執行過一些先前的指令(例如ipconfig或Get-Service )後,IntelliSense 會在你開始輸入時根據歷史記錄提供建議。你可以使用向上和向下箭頭鍵瀏覽這些建議,並使用Enter鍵確認你的選擇。
5導入Excel
ImportExcel 的下載量超過 1400 萬次,對於想要建立 Excel 電子表格而不需要 Excel 本身的使用者來說是一個受歡迎的選擇——非常適合伺服器環境或自動化腳本。

若要安裝 ImportExcel,請輸入以下命令:
Install-Module -Name ImportExcel -Scope CurrentUser
此模組可以執行各種任務,從基本匯出到更複雜的功能(例如資料透視表和條件格式)。例如,要將正在執行的進程資訊匯出到格式化的電子表格,請使用:
Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow
此命令收集所有活動服務並將其匯出到 Excel 文件,格式化列以適合內容並凍結標題行以方便使用。

4 PSWriteHTML
PSWriteHTML 讓您可以將 PowerShell 輸出轉換為 HTML 報告,包括表格和圖表,無需事先了解 HTML 編碼。

使用以下命令安裝模組:
Install-Module -Name PSWriteHTML -Scope CurrentUser
若要建立突出顯示 CPU 使用率排名前十的進程的系統報告,請使用:
Import-Module PSWriteHTML;$procs = Get-Process | Select-Object Name, CPU, WorkingSet -First 10New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {New-HTMLSection -HeaderText "Process Information" {New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5', 'excelHtml5')}}
產生的 HTML 具有 JavaScript 驅動的排序、過濾和匯出功能。

3 PSWindows更新
PSWindowsUpdate 是 PowerShell 函式庫中最受歡迎的模組,下載量超過 3, 300 萬次,它提供專門用於管理 Windows 更新用戶端的 cmdlet。

使用以下命令安裝它:
Install-Module -Name PSWindowsUpdate -Scope CurrentUser
此模組提供用於全面管理 Windows 更新的 cmdlet,非常適合自動執行任務。使用以下命令同時檢查多台伺服器上待處理的更新:
$Servers = 'SERVER01', 'SERVER02', 'SERVER03'Invoke-Command -ComputerName $Servers -ScriptBlock {Import-Module PSWindowsUpdate<|image_sentinel|>Get-WindowsUpdate -MicrosoftUpdate | Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired} | Sort-Object Computer, KB | Format-Table -AutoSize
這會快速顯示您伺服器上待處理的更新。您可以安裝特定更新、隱藏有問題的更新或方便地安排安裝。使用-AcceptAll參數可以繞過確認提示。
2 個終端圖標
使用 Terminal-Icons 改進您的 PowerShell 終端體驗,它為目錄清單中的檔案添加了可識別的圖示。每種文件類型都以其獨特的圖標和顏色表示,從而提高可見性和導航的便利性。

要安裝,請運行:
Install-Module -Name Terminal-Icons -Scope CurrentUser
此模組增強了Get-ChildItem的輸出。安裝後,要查看圖標,請使用:
Import-Module Terminal-Icons
隨後,當執行Get-ChildItem或其別名時,每種檔案類型將顯示其各自的圖示和顏色。 PowerShell 腳本將顯示 PowerShell 徽標,資料夾將顯示指定的資料夾圖示。此美學升級不僅改善了終端的外觀,還有助於在選項卡之間導航時快速識別文件。請注意,需要安裝 Nerd Font 才能正確呈現圖示。

1轉乘
Transferetto 是一個 PowerShell 模組,旨在簡化與 FTP、FTPS 和 SFTP 的互動。它無需深入研究. NET 類別或使用第三方工具,而是提供直覺的 PowerShell 原生 cmdlet。

要安裝 Transferetto,請使用:
Install-Module -Name Transferetto -Scope CurrentUser
工作流程與資料庫模組的工作流程非常相似:連接、執行任務和斷開連接:
$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)Send-FTPFile -Client $Client -LocalPath "C:\Reports\Report1.xlsx" -RemotePath "/uploads/"Disconnect-FTP -Client $Client
除了基本功能外,Transferetto 還支援 SSL 設定、加密方法、憑證驗證選項和Request-FTPConfiguration命令,可自動測試您的伺服器連線設定。
此外,它不僅限於單一檔案;您可以使用Send-FTPDirectory上傳整個目錄,甚至執行 FXP 傳輸(伺服器到伺服器的檔案複製)。由於支援 SFTP 和 SSH,它還允許您在檔案傳輸過程中執行遠端命令。
由於 Transferetto 可在 Windows PowerShell 5.1 和 PowerShell 7+ 上執行,因此您的腳本無需進行任何修改即可在 Windows、Linux 和 macOS 平台上正常運作。
即使你只使用 PowerShell 完成一些基本任務,熟悉一些模組也能提升你的效率。 PSReadLine 等模組可以透過預測建議加速輸入速度,ImportExcel 等模組讓你無需 Excel 即可輕鬆管理電子表格,而 Terminal-Icons 等模組則可以增強終端介面的可讀性。
PowerShell 函式庫中提供了豐富的模組。安裝前,請務必查看它們的相容性和更新歷史記錄。先從一兩個能夠直接滿足您最迫切需求的模組開始,然後隨著您逐漸熟悉,逐步擴展您的工具包。
發佈留言