PowerShell 101:尋找和安裝新模組

在PowerShell中管理任務通常讓人感覺像是魔術—直到你需要缺失的功能。無論是自動更新、管理使用者帳戶還是訪問高級功能,你很快就會發現內置工具並不能應付一切。在這些情況下,你會意識到:我需要更多的模組,但我應該從哪裡開始呢?

通過閱讀完本指南,你將具備自動化更多任務並保持環境簡潔高效的技能。

開始吧,成為一名PowerShell模組專家!

在PowerShell庫中搜索模組

在PowerShell中管理任務通常需要使用內置工具之外的模組,因此你需要搜索這些模組。例如,如果你正在管理Windows更新或自動執行複雜任務,默認的PowerShell安裝可能不包含必要的工具。

如果你對準確的模組名稱感到不確定,可以先使用帶有萬用字符搜索的Find-Module命令:

Find-Module '*windowsupdate*'

此命令將列出與萬用字符模式匹配的模組。

一旦找到所需的模組,請通過指定模組名稱(例如PSWindowsUpdate)來精煉搜索:

Find-Module -Name 'PSWindowsUpdate'

安裝模組

找到模組只是第一步;下一步是將其放入系統中。PowerShell庫中的模組就像應用商店中的應用程式一樣。一旦知道你在尋找什麼,你就可以快速下載並安裝它們。

通過將Find-Module的輸出傳送到Install-Module來直接下載模組:

Find-Module -Name 'PSWindowsUpdate' | Install-Module

如果您看到有關不受信任存儲庫的提示,原因是 PowerShell 需要明確確認。這種行為發生在從具有 Untrusted 安裝策略的存儲庫下載時。

為避免重複提示,您可以將存儲庫策略設置為 Trusted

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

重新運行安裝命令:

Find-Module -Name 'PSWindowsUpdate' | Install-Module

驗證已安裝的模組

安裝模組後,您會希望確保它準備就緒。但是,該模組可能未安裝在您期望的位置,或者需要在使用之前進行額外驗證。

例如,PSWindowsUpdate 模組默認安裝在您的用戶配置文件中。如果是這樣,則在嘗試執行其命令之前確認其位置至關重要。

要確認 PowerShell 安裝模組的位置,請使用:

Get-Module -Name PSWindowsUpdate -ListAvailable | Select-Object ModuleBase

此命令將返回文件系統中模組的位置。默認情況下,模組安裝在您的用戶配置文件的 Documents 文件夾中。

列出模組中的所有可用命令:

Get-Command -Module PSWindowsUpdate

卸載模組

即使是最有價值的模組,也不會永遠需要,比如 PSWindowsUpdate 模組。在使用此模組完成腳本或管理更新後,您可能希望將其移除以保持系統整潔或防止不必要的資源使用。

要移除特定模組:

Uninstall-Module -Name PSWindowsUpdate

如果模組目前正在使用,PowerShell 可能會阻止您卸載它。

檢查模組是否已加載:

Get-Module PSWindowsUpdate

如果已加載,請將其卸載:

Remove-Module PSWindowsUpdate

現在,請重新嘗試卸載:

Uninstall-Module -Name PSWindowsUpdate

如果問題仍然存在,請關閉當前的 PowerShell 會話,重新打開它並再次運行卸載命令。

結論

在本教程中,您學習了如何通過利用 PowerShell Gallery 有效管理 PowerShell 模組。我們從搜索模組開始,然後進行安裝和卸載不需要的模組。您還遇到了實際的情境,例如解決不受信任的存儲庫提示和卸載活動模組。

憑藉這些技能,您將能夠探索 PowerShell Gallery 中的其他模組,以增強自動化功能並解決您環境中的挑戰。例如,考慮用於管理Active Directory或Azure的模組,甚至嘗試創建自定義模組以與他人共享。

通過精通模組管理,您將解鎖 PowerShell 的全部潛力,使其能夠適應您獨特的管理需求。

Source:
https://adamtheautomator.com/powershell-module-management/