about_PSResourceGet

Descrição breve

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

Descrição longa

Microsoft.PowerShell.PSResourceGet é uma versão atualizada do módulo PowerShellGet completamente escrito em C#.

Esta versão do PowerShellGet se concentra em algumas áreas principais:

  • Simplificar a base de código facilitando o aprimoramento e a correção de bugs
  • Remova a dependência do módulo PackageManagement e use a biblioteca NuGet diretamente
  • Resolver problemas de usabilidade de longa data que seriam alterações interruptivas da v2
  • Manter a compatibilidade para scripts existentes gravados esperando v2 por meio de um módulo de compatibilidade separado
  • Melhorar o desempenho da pesquisa e da instalação

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 no Galeria do PowerShell são definidos como objetos PSResource. Isso reduz o número de cmdlets de 26 na versão 2.x para 18 na versão 0.9.

A tabela a seguir mostra os cmdlets que estão disponíveis no PowerShellGet v3 e seus equivalentes v2.

Microsoft.PowerShell.PSResourceGet PowerShellGet v2
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
n/d Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo n/d
Import-PSGetRepository n/d
Install-PSResource Install-Module
Install-PSResource Install-Script
New-PSScriptFileInfo New-ScriptFileInfo
Publish-PSResource Publish-Module
Publish-PSResource Publish-Script
Register-PSResourceRepository Register-PSRepository
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

Pesquisando por intervalos de versão do NuGet

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

O PowerShellGet dá suporte a todas as versões inclusivas mínimas listadas na documentação do intervalo de versões do NuGet. Usar 1.0.0.0 como a versão não gera versões 1.0.0.0 e superiores (intervalo inclusivo mínimo). Em vez disso, o valor é considerado a versão necessária. Para pesquisar um intervalo inclusivo mínimo, use [1.0.0.0, ] como o intervalo de versão.

Pesquisando por recursos necessários

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

A tabela de hash 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 exemplo a seguir 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": {}
}

Confira também