開始使用 PowerShell 資源庫
PowerShell 資源庫是一個套件存放庫,其中包含您可以下載並利用的指令碼、模組和 DSC 資源。 您可以使用 PowerShellGet 模組中的 Cmdlet,從 PowerShell 資源庫安裝套件。 您不需要登入,即可從 PowerShell 資源庫 下載專案。
注意
您可以直接從 PowerShell 資源庫 下載套件,但這不是建議的方法。 如需詳細資訊,請參閱手動下載套件。
從 PowerShell 資源庫探索套件
您可以在 PowerShell 資源庫 首頁上使用 [搜尋] 控件,或在 [套件] 頁面上瀏覽模組和腳本,在 PowerShell 資源庫 中找到套件。 您也可以執行Find-Module
、 Find-DscResource
和 Find-Script
Cmdlet,視套件類型而定,使用 -Repository PSGallery
來尋找 PowerShell 資源庫 中的套件。
您可以使用下列參數來篩選資源庫的結果:
- Name
- AllVersions
- MinimumVersion
- RequiredVersion
- 標籤
- Includes
- DscResource
- RoleCapability
- Command
- Filter
如果您只想要探索資源庫中的特定 DSC 資源,您可以執行 Find-DscResource
Cmdlet。 Find-DscResource 會傳回資源庫中所含 DSC 資源的資料。
因為 DSC 資源一律會在模組中傳遞,所以您仍然需要執行 Install-Module
來安裝這些 DSC 資源。
在 PowerShell 資源庫中了解套件
在您找出自己感興趣的套件之後,可能會想要深入了解它。 您可以透過檢查該套件在資源庫上的特定頁面來這麼做。 在該頁面上,您將能夠看到與套件一起上傳的所有元數據。 此中繼資料是由套件的作者所提供,且未經 Microsoft 驗證。 套件的擁有者與用來發行該套件的資源庫帳戶具有緊密的關聯性,因此會比 [Author] \(作者\) 欄位中的資訊更為可靠。
如果您發現您覺得未在良好的情況下發佈的套件,請按兩下該套件頁面上的 [ 報告濫用 ]。
如果您執行 Find-Module
或 Find-Script
,您可以在傳回的 PSGetModuleInfo 物件中檢視此資料。 下列範例會傳回資源庫中 PSReadLine 模組上的數據。
Find-Module -Name PSReadLine -Repository PSGallery | Get-Member
從 PowerShell 資源庫下載套件
從 PowerShell 資源庫下載套件時,建議使用下列程序︰
檢查
若要從資源庫下載套件以進行檢查, Save-Module
請根據套件類型執行 或 Save-Script
Cmdlet。 這可讓您在不安裝該套件的情況下於本機儲存它,並檢查套件內容。 請記得手動刪除已儲存的套件。
這些套件有一部分是由 Microsoft 所撰寫,其他則是由 PowerShell 社群所撰寫。 Microsoft 建議您先檢閱此資源庫上套件的內容和程式代碼,再安裝。
如果您發現您覺得未在良好的情況下發佈的套件,請按兩下該套件頁面上的 [ 報告濫用 ]。
安裝
若要從資源庫安裝套件以供使用,請根據套件類型執行 Install-Module
或 Install-Script
Cmdlet。
Install-Module
預設會將模組安裝至 $env:ProgramFiles\WindowsPowerShell\Modules
。
這需要系統管理員帳戶。 如果您新增 -Scope CurrentUser
參數,模組就會安裝至 $HOME\Documents\WindowsPowerShell\Modules
。
Install-Script
預設會將文稿安裝至 $env:ProgramFiles\WindowsPowerShell\Scripts
。
這需要系統管理員帳戶。 如果您新增 -Scope CurrentUser
參數,指令碼就會安裝至 $HOME\Documents\WindowsPowerShell\Scripts
。
根據預設, Install-Module
並 Install-Script
安裝最新的套件版本。 若要安裝較舊的套件版本,請新增 -RequiredVersion
參數。
部署
若要將套件從 PowerShell 資源庫部署至 Azure 自動化,按一下 [Azure 自動化],然後按一下套件詳細資料頁面上的 [部署至 Azure 自動化]。 系統會將您重新導向至使用 Azure 帳戶認證登入的 Azure 管理入口網站。 請注意,部署含相依性的套件會將所有相依性部署至 Azure 自動化。 若要停用 [Deploy to Azure Automation] \(部署至 Azure 自動化) 按鈕,請將 AzureAutomationNotSupported 標記新增至套件中繼資料。
若要深入了解 Azure 自動化,請參閱 Azure 自動化文件。
從 PowerShell 資源庫更新套件
若要更新從 PowerShell 資源庫 安裝的套件,請執行 Update-Module
或 Update-Script
Cmdlet。 在沒有任何其他參數的情況下執行時, Update-Module
會嘗試更新安裝的所有模組,方法是執行 Install-Module
。 若要選擇性地更新模組,請新增 -Name
參數。
同樣地,在沒有任何其他參數的情況下執行時, Update-Script
也會嘗試更新執行 所 Install-Script
安裝的所有腳本。 若要選擇性地更新指令碼,請新增 -Name
參數。
列出已從 PowerShell 資源庫安裝的套件
若要瞭解您已從 PowerShell 資源庫 安裝的模組,請執行 Get-InstalledModule
Cmdlet。 此命令會列出您系統上直接從 PowerShell 資源庫 安裝的所有模組。
同樣地,若要找出您從 PowerShell 資源庫 安裝的腳本,請執行 Get-InstalledScript
Cmdlet。 這個命令會列出系統上直接從 PowerShell Gallery 安裝的所有指令碼。
PowerShell 資源庫的網路存取權
這些主機名稱應新增至控制您的網路存取的允許清單。
套件探索和下載所需的主機:
onegetcdn.azureedge.net
- CDN 主機名稱
使用 PowerShell 資源庫 網站時所需的主機:
devopsgallerystorage.blob.core.windows.net
- 儲存體帳戶主機名稱*.powershellgallery.com
- 網站go.microsoft.com
- 重新導向服務
重要
從 2020 年 4 月起,PowerShell 資源庫已不再支援傳輸層安全性 (TLS) 1.0 和 1.1 版。 如果您不是使用 TLS 1.2 或更高版本,您在嘗試存取 PowerShell 資源庫時將會收到錯誤。 使用下列命令來確保您使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
如需詳細資訊,請參閱 PowerShell 部落格中的公告 \(英文\)。