about_PSResourceGet

Krótki opis

Opisuje sposób używania wersji 1.0.3 modułu Microsoft.PowerShell.PSResourceGet .

Długi opis

Microsoft.PowerShell.PSResourceGet to zaktualizowana wersja modułu PowerShellGet napisana całkowicie w języku C#.

Ta wersja modułu PowerShellGet koncentruje się na kilku kluczowych obszarach:

  • Uproszczenie podstawy kodu, co ułatwia ulepszanie i naprawianie usterek
  • Usuń zależność od modułu PackageManagement i użyj biblioteki NuGet bezpośrednio
  • Rozwiązywanie długotrwałych problemów z użytecznością, które mogłyby spowodować niezgodność zmian z wersji 2
  • Obsługa zgodności istniejących skryptów napisanych w wersji 2 za pomocą oddzielnego modułu zgodności
  • Zwiększanie wydajności wyszukiwania i instalacji

Zmiany projektu

Poprzednie wersje modułu PowerShellGet miały oddzielne polecenia do pracy z modułami i skryptami. W elemecie Microsoft.PowerShell.PSResourceGet wszystkie pakiety w Galeria programu PowerShell są definiowane jako obiekty PSResource. Zmniejsza to liczbę poleceń cmdlet z 26 w wersji 2.x do 18 w wersji 0.9.

W poniższej tabeli przedstawiono polecenia cmdlet dostępne w programie PowerShellGet w wersji 3 i ich odpowiedniki w wersji 2.

Microsoft.PowerShell.PSResourceGet Moduł PowerShellGet w wersji 2
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
nie dotyczy Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo nie dotyczy
Import-PSGetRepository nie dotyczy
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

Wyszukiwanie według zakresów wersji nuGet

Kilka poleceń cmdlet Microsoft.PowerShell.PSResourceGet udostępnia parametr Version , który umożliwia określenie zakresu wersji do wyszukania. Parametr Version używa składni przechowywania wersji nuGet. Aby uzyskać więcej informacji na temat zakresów wersji nuGet, zobacz Przechowywanie wersji pakietów.

Moduł PowerShellGet obsługuje wszystkie wersje, ale minimalną inkluzywną wymienioną w dokumentacji zakresu wersji NuGet. Użycie 1.0.0.0 jako wersji nie daje wersji 1.0.0.0 i nowszych (minimalny zakres włącznie). Zamiast tego wartość jest uznawana za wymaganą wersję. Aby wyszukać minimalny zakres inkluzywny, użyj jako [1.0.0.0, ] zakresu wersji.

Wyszukiwanie według wymaganych zasobów

Polecenie Install-PSResource cmdlet ma parametry RequiredResource i RequiredResourceFile , które są używane do znajdowania obiektów PSResource spełniających określone kryteria. Kryteria wyszukiwania można określić przy użyciu tabeli skrótów lub obiektu JSON. W przypadku parametru RequiredResourceFile tabela skrótów jest przechowywana w .psd1 pliku, a obiekt JSON jest przechowywany w .json pliku.

Tabela skrótów może zawierać atrybuty dla wielu modułów. Poniższy przykład przedstawia strukturę specyfikacji modułu:

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

Ten przykład zawiera specyfikacje dla trzech modułów. Jak to możliwe, atrybuty modułu są opcjonalne.

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

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

    TestModule99 = @{}
}

W następnym przykładzie pokazano tę samą specyfikację w formacie JSON.

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

Zobacz też