Partilhar via


about_PSResourceGet

Breve descrição

Descreve como usar a versão 1.2.0 do módulo Microsoft.PowerShell.PSResourceGet .

Descrição longa

Microsoft.PowerShell.PSResourceGet é uma versão atualizada do módulo PowerShellGet totalmente escrita em C# e oferece os seguintes benefícios em relação às versões anteriores do PowerShellGet:

  • Simplifica a base de código, tornando mais fácil melhorar e corrigir bugs
  • Remove a dependência do módulo PackageManagement e utiliza diretamente as APIs NuGet
  • Resolve problemas de usabilidade de longa data que seriam alterações se feitos no PowerShellGet v2
  • Melhora o desempenho na pesquisa e instalação

Na primeira vez que usas o Microsoft.PowerShell.PSResourceGet, o módulo regista a PowerShell Gallery como repositório PSResource. Por defeito, o repositório PSGallery é registado com prioridade de 50 e é marcado como não confiável. Use o seguinte comando para confiar no repositório PSGallery:

Set-PSResourceRepository -Name PSGallery -Trusted -PassThru

Alterações de design

As versões anteriores do PowerShellGet tinham comandos separados para trabalhar com módulos e scripts. No Microsoft.PowerShell.PSResourceGet, todos os pacotes na Galeria do PowerShell são definidos como objetos PSResource.

A tabela seguinte mostra os cmdlets disponíveis em Microsoft.PowerShell.PSResourceGet e nos seus equivalentes PowerShellGet v2.

Microsoft.PowerShell.PSResourceGet PowerShellGet v2
Compress-PSResource n/a
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
n/a Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo n/a
Import-PSGetRepository n/a
Install-PSResource Install-Module
Install-PSResource Install-Script
New-PSScriptFileInfo New-ScriptFileInfo
Publish-PSResource Publish-Module
Publish-PSResource Publish-Script
Register-PSResourceRepository Register-PSRepository
Reset-PSResourceRepository n/a
Save-PSResource Save-Module
Save-PSResource Save-Script
Set-PSResourceRepository Set-PSRepository
Test-PSScriptFileInfo Test-ScriptFileInfo
Uninstall-PSResource Uninstall-Module
Uninstall-PSResource Uninstall-Script
Unregister-PSResourceRepository Unregister-PSRepository
Update-PSModuleManifest Update-ModuleManifest
Update-PSResource Update-Module
Update-PSResource Update-Script
Update-PSScriptFileInfo Update-ScriptFileInfo

Pesquisa por intervalos de versões do NuGet

Vários cmdlets Microsoft.PowerShell.PSResourceGet fornecem um parâmetro Version que permite especificar um intervalo de versões para pesquisar. O parâmetro Version usa a sintaxe de controle de versão do NuGet. Para obter mais informações sobre intervalos de versões do NuGet, consulte Versionamento de pacotes.

O PowerShellGet suporta todas, exceto a versão mínima inclusiva listada na documentação do intervalo de versões do NuGet. Usar 1.0.0.0 como a versão não produz versões 1.0.0.0 e superiores (intervalo mínimo inclusivo). Em vez disso, o valor é considerado a versão necessária. Para procurar um intervalo mínimo inclusivo, use [1.0.0.0, ] como o intervalo de versões.

Pesquisa por recursos necessários

O cmdlet Install-PSResource tem RequiredResource e parâmetros de RequiredResourceFile usados para localizar objetos PSResource que correspondem a critérios específicos. Você pode especificar os critérios de pesquisa usando uma hashtable ou um objeto JSON. Para o parâmetro RequiredResourceFile, a hashtable é armazenada em um arquivo e o objeto JSON é armazenado em um arquivo .

A hashtable pode conter atributos para vários módulos. O exemplo a seguir mostra a estrutura da especificação do módulo:

@{
    <modulename> = @{
        version = '<version-spcification>'
        repository = '<reponame>'
        prerelease = '<boolean>'
    }
}

Este exemplo contém especificações para três módulos. Como você pode, os atributos do módulo são opcionais.

 @{
    TestModule = @{
        version = '[0.0.1,1.3.0]'
        repository = 'PSGallery'
    }

    TestModulePrerelease = @{
        version = '[0.0.0,0.0.5]'
        repository = 'PSGallery'
        prerelease = $true
    }

    TestModule99 = @{}
}

O próximo exemplo mostra a mesma especificação no formato JSON.

{
  "TestModule": {
    "version": "[0.0.1,1.3.0)",
    "repository": "PSGallery"
  },
  "TestModulePrerelease": {
    "version": "[0.0.0,0.0.5]",
    "repository": "PSGallery",
    "prerelease": "true"
  },
  "TestModule99": {}
}

Consulte também