改變我工作流程的 PowerShell 模組

改變我工作流程的 PowerShell 模組

如果您仍在依賴自訂 PowerShell 腳本進行簡單的文件傳輸或產生 Excel 報告,現在是時候簡化您的工作流程了。預先建置的 PowerShell 模組可以比您手動編寫的任何腳本更有效率地處理大多數日常任務。

要開始使用這些模組,請確保您至少執行的是 PowerShell 5.1。雖然許多模組在各個平台上都與 PowerShell 7 相容,但有些模組可能僅限於 Windows。透過調整執行策略來啟用腳本執行也至關重要,如下所示:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

安裝模組時,請務必使用-Scope CurrentUser參數以消除對管理權限的需求。

6 PSReadLine

PSReadLine 是 PowerShell 的預設功能,但即使是經驗豐富的使用者也常常未被充分利用。此模組透過語法高亮、多行編輯和預測性 IntelliSense 等功能增強了您的命令列體驗。

安裝了 PSReadLine 模組的 PowerShell 終端
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

若要取得 PSReadLine 的最新版本,請使用以下指令:

Install-Module -Name PSReadLine -Scope CurrentUser -Force

啟用 IntelliSense 將增強你的命令歷史記錄,並在你輸入時提供建議。使用以下命令激活它:

Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView

執行過一些先前的指令(例如ipconfigGet-Service )後,IntelliSense 會在你開始輸入時根據歷史記錄提供建議。你可以使用向上向下箭頭鍵瀏覽這些建議,並使用Enter鍵確認你的選擇。

5導入Excel

ImportExcel 的下載量超過 1400 萬次,對於想要建立 Excel 電子表格而不需要 Excel 本身的使用者來說是一個受歡迎的選擇——非常適合伺服器環境或自動化腳本。

在 PowerShell 終端機上導入 Excel 模組
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

若要安裝 ImportExcel,請輸入以下命令:

Install-Module -Name ImportExcel -Scope CurrentUser

此模組可以執行各種任務,從基本匯出到更複雜的功能(例如資料透視表和條件格式)。例如,要將正在執行的進程資訊匯出到格式化的電子表格,請使用:

Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow

此命令收集所有活動服務並將其匯出到 Excel 文件,格式化列以適合內容並凍結標題行以方便使用。

ImportExcel 產生的 Excel 報告
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

4 PSWriteHTML

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

PSWriteHTML模組匯出命令
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

使用以下命令安裝模組:

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 驅動的排序、過濾和匯出功能。

PSWriteHTML模組匯出結果
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

3 PSWindows更新

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

PSWindowsUpdate PowerShell 模組
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

使用以下命令安裝它:

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 終端體驗,它為目錄清單中的檔案添加了可識別的圖示。每種文件類型都以其獨特的圖標和顏色表示,從而提高可見性和導航的便利性。

Terminal-Icons PowerShell 模組
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

要安裝,請運行:

Install-Module -Name Terminal-Icons -Scope CurrentUser

此模組增強了Get-ChildItem的輸出。安裝後,要查看圖標,請使用:

Import-Module Terminal-Icons

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

帶有 Get-ChildItem 的 Terminal-Icons PowerShell 模組
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

1轉乘

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

轉移到 PowerShell 模組
圖片來源 – 自行拍攝(Tashreef Shareef)– 無需署名

要安裝 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 函式庫中提供了豐富的模組。安裝前,請務必查看它們的相容性和更新歷史記錄。先從一兩個能夠直接滿足您最迫切需求的模組開始,然後隨著您逐漸熟悉,逐步擴展您的工具包。

來源和圖片

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *