Freigeben über


DSC-Ressource „PackageManagement“

Gilt für: Windows PowerShell 4.0, Windows PowerShell 5.0, Windows PowerShell 5.1

Die Ressource PackageManagement in Windows PowerShell Desired State Configuration (DSC) bietet einen Mechanismus zum Installieren oder Deinstallieren von Paketverwaltungspaketen auf einem Zielknoten. Diese Ressource erfordert das Modul PackageManagement, das unter https://PowerShellGallery.com verfügbar ist.

Wichtig

Die folgenden Eigenschaftsinformationen gelten nur für das PackageManagement-Modul Version 1.1.7.0 oder höher.

Hinweis

Diese Dokumentation dieser DSC-Ressource behandelt die Version, die in PowerShell vor Version 7.2 enthalten ist. Das PSDscResources-Modul enthält neue und aktualisierte DSC-Ressourcen, die offiziell von Microsoft unterstützt werden. Das Modul PSDscResources ist im PowerShell-Katalog verfügbar.

Weitere Informationen und aktualisierte Dokumentation finden Sie in der Referenzdokumentation zu PSDscResources.

Syntax

PackageManagement [string] #ResourceName
{
    Name = [string]
    [ AdditionalParameters = [HashTable] ]
    [ DependsOn = [string[]] ]
    [ Ensure = [string]{ Absent | Present } ]
    [ MaximumVersion = [string] ]
    [ MinimumVersion = [string] ]
    [ ProviderName = [string] ]
    [ PsDscRunAsCredential = [PSCredential] ]
    [ RequiredVersion = [string] ]
    [ Source = [string] ]
    [ SourceCredential = [PSCredential] ]
}

Eigenschaften

Eigenschaft BESCHREIBUNG
Name Gibt den Namen des Pakets an, das installiert oder deinstalliert werden soll.
AdditionalParameters Anbieterspezifische Hashtabelle mit Parametern, die an Get-Package -AdditionalArguments übergeben werden würden. Beispielsweise können Sie für den NuGet-Anbieter zusätzliche Parameter wie Ziel übergeben.
MaximumVersion Gibt die zulässige Höchstversion für das zu suchende Paket an. Wenn Sie diesen Parameter nicht hinzufügen, sucht die Ressource nach der höchsten verfügbaren Version des Pakets.
MinimumVersion Gibt die zulässige Mindestversion für das zu suchende Paket an. Wenn Sie diesen Parameter nicht hinzufügen, installiert die Ressource die höchste verfügbare Version des Pakets, wobei die vom Parameter MaximumVersion angegebene Höchstversion berücksichtigt wird.
ProviderName Gibt den Namen eines Paketanbieters an, auf den Ihre Paketsuche sich erstrecken soll. Paketanbieternamen können Sie durch Ausführen des Cmdlets Get-PackageProvider abrufen.
RequiredVersion Gibt die genaue Version des Pakets an, das Sie installieren möchten. Wenn Sie diesen Parameter nicht angeben, installiert diese DSC-Ressource die neueste verfügbare Version des Pakets, die auch die maximale Version erfüllt, die durch den MaximumVersion-Parameter angegeben wird.
`Source` Gibt den Namen der Paketquelle an, unter der sich das Paket befindet. Dies kann entweder ein URI oder eine Quelle sein, die bei Register-PackageSource oder der DSC-Ressource „PackageManagementSource“ registriert ist.
SourceCredential Gibt ein Benutzerkonto an, das über Rechte zum Installieren eines Pakets für einen angegebenen Paketanbieter oder eine bestimmte Quelle verfügt.

Zusätzliche Parameter

In der folgenden Tabelle sind die Optionen für die Eigenschaft „AdditionalParameters“ aufgeführt.

Parameter BESCHREIBUNG
Destination Wird von Anbietern wie dem integrierten NuGet-Anbieter verwendet. Gibt einen Dateispeicherort an, an dem das Paket installiert werden soll.
InstallationPolicy Wird von Anbietern wie dem integrierten NuGet-Anbieter verwendet. Bestimmt, ob Sie der Paketquelle vertrauen. Einer von: Nicht vertrauenswürdig oder vertrauenswürdig.

Allgemeine Eigenschaften

Eigenschaft BESCHREIBUNG
DependsOn Gibt an, dass die Konfiguration einer anderen Ressource ausgeführt werden muss, bevor diese Ressource konfiguriert wird. Wenn beispielsweise die ID des Skriptblocks mit der Ressourcenkonfiguration, den Sie zuerst ausführen möchten, „ResourceName“ und dessen Typ „ResourceType“ ist, lautet die Syntax für das Verwenden dieser Eigenschaft DependsOn = "[ResourceType]ResourceName".
Ensure Bestimmt, ob das Paket installiert oder deinstalliert werden soll. Der Standardwert ist Present.
PsDscRunAsCredential Legt die Anmeldeinformationen für die Ausführung der gesamten Ressource fest.

Hinweis

Die allgemeine Eigenschaft PsDscRunAsCredential wurde in WMF 5.0 hinzugefügt, um das Ausführen einer beliebigen DSC-Ressource in Verbindung mit anderen Anmeldeinformationen zu ermöglichen. Weitere Informationen finden Sie unter Use Credentials with DSC Resources (Verwenden von Anmeldeinformationen mit DSC-Ressourcen).

Beispiel

In diesem Beispiel werden das NuGet-Paket JQuery und das PowerShell-Modul GistProvider mithilfe der DSC-Ressource PackageManagement installiert. In diesem Beispiel wird zunächst sichergestellt, dass die erforderlichen Paketquellen verfügbar sind. Anschließend wird der erwartete Zustand der JQuery- und GistProvider-Pakete (NuGet bzw. PowerShell) definiert.

Configuration PackageTest
{
    Import-DscResource -ModuleName 'PackageManagement'

    PackageManagementSource SourceRepository
    {
        Ensure      = "Present"
        Name        = "MyNuget"
        ProviderName= "Nuget"
        SourceLocation   = "http://nuget.org/api/v2/"
        InstallationPolicy ="Trusted"
    }

    PackageManagementSource PSGallery
    {
        Ensure      = "Present"
        Name        = "psgallery"
        ProviderName= "PowerShellGet"
        SourceLocation   = "https://www.powershellgallery.com/api/v2"
        InstallationPolicy ="Trusted"
    }

    PackageManagement NugetPackage
    {
        Ensure               = "Present"
        Name                 = "JQuery"
        AdditionalParameters = "$env:HomeDrive\nuget"
        RequiredVersion      = "2.0.1"
        DependsOn            = "[PackageManagementSource]SourceRepository"
    }

    PackageManagement PSModule
    {
        Ensure               = "Present"
        Name                 = "gistprovider"
        Source               = "PSGallery"
        DependsOn            = "[PackageManagementSource]PSGallery"
    }
}