Compartir a través de


about_PSResourceGet

Descripción breve

Describe cómo usar la versión 1.2.0 del módulo Microsoft.PowerShell.PSResourceGet .

Descripción larga

Microsoft.PowerShell.PSResourceGet es una versión actualizada del módulo PowerShellGet completamente escrita en C# y ofrece los siguientes beneficios respecto a versiones anteriores de PowerShellGet:

  • Simplifica la base de código, facilitando la mejora y corrección de errores
  • Elimina la dependencia del módulo PackageManagement y utiliza directamente las APIs de NuGet
  • Soluciona problemas de usabilidad de larga data que serían cambios rotos si se hicieran en PowerShellGet v2
  • Mejora el rendimiento en búsqueda e instalación

La primera vez que usas Microsoft.PowerShell.PSResourceGet, el módulo registra la galería PowerShell como un repositorio PSResource. Por defecto, el repositorio de PSGallery se registra con una prioridad de 50 y se marca como no confiable. Utiliza el siguiente comando para confiar en el repositorio PSGallery:

Set-PSResourceRepository -Name PSGallery -Trusted -PassThru

Cambios de diseño

Las versiones anteriores de PowerShellGet tenían comandos independientes para trabajar con módulos y scripts. En Microsoft.PowerShell.PSResourceGet, todos los paquetes de la Galería de PowerShell se definen como objetos de PSResource.

La siguiente tabla muestra los cmdlets disponibles en Microsoft.PowerShell.PSResourceGet y sus 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

Búsqueda por intervalos de versiones de NuGet

Varios cmdlets de Microsoft.PowerShell.PSResourceGet proporcionan un parámetro Version que permite especificar un intervalo de versiones para buscar. El parámetro Version de usa la sintaxis de control de versiones de NuGet. Para obtener más información sobre los intervalos de versiones de NuGet, consulte Control de versiones de paquetes.

PowerShellGet admite todos los versión inclusiva mínima que se enumeran en la documentación del intervalo de versiones de NuGet. El uso de 1.0.0.0, ya que la versión no produce versiones 1.0.0.0 ni posteriores (intervalo inclusivo mínimo). En su lugar, el valor se considera la versión necesaria. Para buscar un intervalo inclusivo mínimo, use [1.0.0.0, ] como intervalo de versiones.

Búsqueda por recursos necesarios

El cmdlet Install-PSResource tiene RequiredResource y parámetros requiredResourceFile que se usan para buscar objetos PSResource que coincidan con criterios específicos. Puede especificar los criterios de búsqueda mediante una tabla hash o un objeto JSON. En el parámetro RequiredResourceFile, la tabla hash se almacena en un archivo .psd1 y el objeto JSON se almacena en un archivo .json.

La tabla hash puede contener atributos para varios módulos. En el ejemplo siguiente se muestra la estructura de la especificación del módulo:

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

Este ejemplo contiene especificaciones para tres módulos. Como puede, los atributos del módulo son opcionales.

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

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

    TestModule99 = @{}
}

En el ejemplo siguiente se muestra la misma especificación en 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 también