在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/