開始使用 PowerShell 資源庫

PowerShell 資源庫是一個套件存放庫,其中包含您可以下載並利用的指令碼、模組和 DSC 資源。 您可以使用 PowerShellGet 模組中的 Cmdlet,從 PowerShell 資源庫安裝套件。 您不需要登入,即可從 PowerShell 資源庫 下載專案。

注意

您可以直接從 PowerShell 資源庫 下載套件,但這不是建議的方法。 如需詳細資訊,請參閱手動下載套件

您可以在 PowerShell 資源庫 首頁上使用 [搜尋] 控件,或在 [套件] 頁面上瀏覽模組和腳本,在 PowerShell 資源庫 中找到套件。 您也可以執行Find-ModuleFind-DscResourceFind-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 資源。

在您找出自己感興趣的套件之後,可能會想要深入了解它。 您可以透過檢查該套件在資源庫上的特定頁面來這麼做。 在該頁面上,您將能夠看到與套件一起上傳的所有元數據。 此中繼資料是由套件的作者所提供,且未經 Microsoft 驗證。 套件的擁有者與用來發行該套件的資源庫帳戶具有緊密的關聯性,因此會比 [Author] \(作者\) 欄位中的資訊更為可靠。

如果您發現您覺得未在良好的情況下發佈的套件,請按兩下該套件頁面上的 [ 報告濫用 ]。

如果您執行 Find-ModuleFind-Script,您可以在傳回的 PSGetModuleInfo 物件中檢視此資料。 下列範例會傳回資源庫中 PSReadLine 模組上的數據。

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

從 PowerShell 資源庫下載套件時,建議使用下列程序︰

檢查

若要從資源庫下載套件以進行檢查, Save-Module 請根據套件類型執行 或 Save-Script Cmdlet。 這可讓您在不安裝該套件的情況下於本機儲存它,並檢查套件內容。 請記得手動刪除已儲存的套件。

這些套件有一部分是由 Microsoft 所撰寫,其他則是由 PowerShell 社群所撰寫。 Microsoft 建議您先檢閱此資源庫上套件的內容和程式代碼,再安裝。

如果您發現您覺得未在良好的情況下發佈的套件,請按兩下該套件頁面上的 [ 報告濫用 ]。

安裝

若要從資源庫安裝套件以供使用,請根據套件類型執行 Install-ModuleInstall-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-ModuleInstall-Script 安裝最新的套件版本。 若要安裝較舊的套件版本,請新增 -RequiredVersion 參數。

部署

若要將套件從 PowerShell 資源庫部署至 Azure 自動化,按一下 [Azure 自動化],然後按一下套件詳細資料頁面上的 [部署至 Azure 自動化]。 系統會將您重新導向至使用 Azure 帳戶認證登入的 Azure 管理入口網站。 請注意,部署含相依性的套件會將所有相依性部署至 Azure 自動化。 若要停用 [Deploy to Azure Automation] \(部署至 Azure 自動化) 按鈕,請將 AzureAutomationNotSupported 標記新增至套件中繼資料。

若要深入了解 Azure 自動化,請參閱 Azure 自動化文件。

若要更新從 PowerShell 資源庫 安裝的套件,請執行 Update-ModuleUpdate-Script Cmdlet。 在沒有任何其他參數的情況下執行時, Update-Module 會嘗試更新安裝的所有模組,方法是執行 Install-Module。 若要選擇性地更新模組,請新增 -Name 參數。

同樣地,在沒有任何其他參數的情況下執行時, Update-Script 也會嘗試更新執行 所 Install-Script安裝的所有腳本。 若要選擇性地更新指令碼,請新增 -Name 參數。

若要瞭解您已從 PowerShell 資源庫 安裝的模組,請執行 Get-InstalledModule Cmdlet。 此命令會列出您系統上直接從 PowerShell 資源庫 安裝的所有模組。

同樣地,若要找出您從 PowerShell 資源庫 安裝的腳本,請執行 Get-InstalledScript Cmdlet。 這個命令會列出系統上直接從 PowerShell Gallery 安裝的所有指令碼。

這些主機名稱應新增至控制您的網路存取的允許清單。

套件探索和下載所需的主機:

  • 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 部落格中的公告 \(英文\)。