Install-Module

Lädt ein oder mehrere Module aus einem Repository herunter, und installiert sie auf dem lokalen Computer.

Syntax

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-RequiredVersion <String>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AllowPrerelease]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Beschreibung

Das Install-Module Cmdlet ruft ein oder mehrere Module ab, die bestimmte Kriterien aus einem Online-Repository erfüllen. Das Cmdlet überprüft, ob Suchergebnisse gültige Module sind und die Modulordner an den Installationsspeicherort kopiert werden. Installierte Module werden nach der Installation nicht automatisch importiert. Sie können filtern, welche Module basierend auf den minimalen, maximalen und genauen Versionen der angegebenen Module installiert sind.

Wenn das installierte Modul denselben Namen oder die gleiche Version aufweist oder Befehle in einem vorhandenen Modul enthält, werden Warnmeldungen angezeigt. Nachdem Sie bestätigt haben, dass Sie das Modul installieren und die Warnungen außer Kraft setzen möchten, verwenden Sie die und -AllowClobber die -Force Parameter. Abhängig von Den Repositoryeinstellungen müssen Sie möglicherweise eine Eingabeaufforderung für die Modulinstallation beantworten, um fortzufahren.

In diesen Beispielen werden die PowerShell-Katalog als einziges registriertes Repository verwendet. Get-PSRepository zeigt die registrierten Repositorys an. Wenn Sie mehrere registrierte Repositorys haben, verwenden Sie den Parameter, um den -Repository Namen des Repositorys anzugeben.

Beispiele

Beispiel 1: Suchen und Installieren eines Moduls

In diesem Beispiel wird ein Modul im Repository gefunden und das Modul installiert.

Find-Module -Name PowerShellGet | Install-Module

Der Find-ModuleParameter "Name " wird verwendet, um das PowerShellGet-Modul anzugeben. Standardmäßig wird die neueste Version des Moduls aus dem Repository heruntergeladen. Das Objekt wird an das Install-Module Cmdlet gesendet. Install-Module installiert das Modul für alle Benutzer in $env:ProgramFiles\PowerShell\Modules.

Beispiel 2: Installieren eines Moduls nach Name

In diesem Beispiel wird die neueste Version des PowerShellGet-Moduls installiert.

Install-Module -Name PowerShellGet

Der Install-ModuleParameter "Name " wird verwendet, um das PowerShellGet-Modul anzugeben. Standardmäßig wird die neueste Version des Moduls aus dem Repository heruntergeladen und installiert.

Beispiel 3: Installieren eines Moduls mithilfe seiner Mindestversion

In diesem Beispiel wird die Mindestversion des PowerShellGet-Moduls installiert. Der MinimumVersion-Parameter gibt die niedrigste Version des Moduls an, das installiert werden soll. Wenn eine neuere Version des Moduls verfügbar ist, wird diese Version für alle Benutzer heruntergeladen und installiert.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Der Install-ModuleParameter "Name " wird verwendet, um das PowerShellGet-Modul anzugeben. Der MinimumVersion-Parameter gibt an, dass Version 2.0.1 aus dem Repository heruntergeladen und installiert wird. Da Version 2.0.4 verfügbar ist, wird diese Version für alle Benutzer heruntergeladen und installiert.

Beispiel 4: Installieren einer bestimmten Version eines Moduls

In diesem Beispiel wird eine bestimmte Version des PowerShellGet-Moduls installiert.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Der Install-ModuleParameter "Name " wird verwendet, um das PowerShellGet-Modul anzugeben. Der Parameter "RequiredVersion " gibt an, dass Version 2.0.0 heruntergeladen und für alle Benutzer installiert wird.

Beispiel 5: Installieren eines Moduls nur für den aktuellen Benutzer

In diesem Beispiel wird nur für den aktuellen Benutzer die neueste Version eines Moduls heruntergeladen und installiert.

Install-Module -Name PowerShellGet -Scope CurrentUser

Der Install-ModuleParameter "Name " wird verwendet, um das PowerShellGet-Modul anzugeben. Install-Module lädt die neueste Version von PowerShellGet in das Verzeichnis $home\Documents\PowerShell\Modulesdes aktuellen Benutzers herunter und installiert sie.

Parameter

-AcceptLicense

Für Module, die eine Lizenz erfordern, akzeptiert AcceptLicense während der Installation automatisch die Lizenzvereinbarung. Weitere Informationen finden Sie unter Module, die die Lizenzannahme erfordern.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowClobber

Überschreibt Warnungen zu Installationskonflikten zu vorhandenen Befehlen auf einem Computer. Überschreibt vorhandene Befehle, die denselben Namen haben wie Befehle, die von einem Modul installiert werden. AllowClobber und Force können in einem Install-Module Befehl zusammen verwendet werden.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrerelease

Ermöglicht ihnen die Installation eines Moduls, das als Vorabversion gekennzeichnet ist.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie das Install-Module Cmdlet ausführen.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Gibt ein Benutzerkonto an, das über Rechte zum Installieren eines Moduls für einen angegebenen Paketanbieter oder eine Quelle verfügt.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Installiert ein Modul und überschreibt Warnungen zu Modulinstallationskonflikten. Wenn ein Modul mit demselben Namen bereits auf dem Computer vorhanden ist, ermöglicht Force mehrere Versionen zu installieren. Wenn ein vorhandenes Modul mit demselben Namen und der gleichen Version vorhanden ist, überschreibt Force diese Version. Force and AllowClobber kann in einem Install-Module Befehl zusammen verwendet werden.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Wird für die Pipelineeingabe verwendet. Ein Fehler wird ausgelöst, wenn ein wert, der direkt an InputObject bereitgestellt wird. Verwenden Sie die Pipeline, um Objekte mit dem InputObject-Parameter zu übergeben.

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaximumVersion

Gibt die maximale Version eines einzelnen Moduls an, das installiert werden soll. Die installierte Version muss kleiner oder gleich MaximumVersion sein. Wenn Sie mehrere Module installieren möchten, können Sie MaximumVersion nicht verwenden. MaximumVersion und RequiredVersion können nicht im gleichen Install-Module Befehl verwendet werden.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MinimumVersion

Gibt die Mindestversion eines einzelnen Moduls an, das installiert werden soll. Die installierte Version muss größer oder gleich MinimumVersion sein. Wenn eine neuere Version des Moduls verfügbar ist, wird die neuere Version installiert. Wenn Sie mehrere Module installieren möchten, können Sie MinimumVersion nicht verwenden. MinimumVersion und RequiredVersion können nicht in demselben Install-Module Befehl verwendet werden.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Gibt die genauen Namen von Modulen an, die aus dem Onlinekatalog installiert werden sollen. Eine durch Komma getrennte Liste von Modulnamen wird akzeptiert. Der Modulname muss dem Modulnamen im Repository entsprechen. Verwenden Sie Find-Module zum Abrufen einer Liste von Modulnamen.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

Gibt einen Proxyserver für die Anforderung an, anstatt direkt mit der Internetressource zu verbinden.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProxyCredential

Gibt ein Benutzerkonto an, das über die Berechtigung zur Verwendung des Proxyservers verfügt, der durch den Proxy-Parameter angegeben wird.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Repository

Verwenden Sie den Repositoryparameter , um anzugeben, welche Repository zum Herunterladen und Installieren eines Moduls verwendet wird. Wird verwendet, wenn mehrere Repositorys registriert sind. Gibt den Namen eines registrierten Repositorys im Install-Module Befehl an. Verwenden Sie Register-PSRepositoryzum Registrieren eines Repositorys . Verwenden Sie Get-PSRepository, um registrierte Repositorys anzuzeigen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Gibt die genaue Version eines einzelnen Moduls an, das installiert werden soll. Wenn im Repository für die angegebene Version keine Übereinstimmung vorhanden ist, wird ein Fehler angezeigt. Wenn Sie mehrere Module installieren möchten, können Sie "RequiredVersion" nicht verwenden. ErforderlichVersion kann nicht in demselben Install-Module Befehl wie MinimumVersion oder MaximumVersion verwendet werden.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Scope

Gibt den Bereich der Installation des Moduls an. Die zulässigen Werte für diesen Parameter sind AllUsers und CurrentUser.

Der Bereich "AllUsers " installiert Module an einem Speicherort, der für alle Benutzer des Computers zugänglich ist:

$env:ProgramFiles\PowerShell\Modules

Der CurrentUser installiert Module an einem Speicherort, der nur für den aktuellen Benutzer des Computers zugänglich ist. Beispiel:

$home\Documents\PowerShell\Modules

Wenn kein Bereich definiert ist, wird die Standardeinstellung basierend auf der PowerShellGet-Version festgelegt.

  • In PowerShellGet-Versionen 2.0.0 und höher ist CurrentUser standard, was keine Erhöhung für die Installation erfordert.
  • In PowerShellGet 1.x-Versionen ist die Standardeinstellung "AllUsers", die eine Erhöhung für die Installation erfordert.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Ermöglicht Es Ihnen, eine neuere Version eines Moduls zu installieren, das bereits auf Ihrem Computer vorhanden ist. Wenn beispielsweise ein vorhandenes Modul digital von einem vertrauenswürdigen Herausgeber signiert wird, aber die neue Version nicht digital von einem vertrauenswürdigen Herausgeber signiert wird.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zeigt an, was geschieht, wenn ein Install-Module Befehl ausgeführt wurde. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

PSRepositoryItemInfo

Find-Module erstellt PSRepositoryItemInfo-Objekte , die an die Pipeline Install-Modulegesendet werden können.

String[]

PSObject[]

String

PSCredential

Uri

Ausgaben

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Wenn Sie den PassThru-Parameter verwenden, Install-Module gibt ein PSRepositoryItemInfo-Objekt für das Modul aus. Dies ist die gleichen Informationen, die Sie vom Find-Module Cmdlet erhalten.

Hinweise

Install-Module wird auf PowerShell 5.0 oder höher veröffentlicht, unter Windows 7 oder Windows 2008 R2 und späteren Versionen von Windows.

Wichtig

Ab April 2020 unterstützt der PowerShell-Katalog die TLS-Versionen (Transport Layer Security) 1.0 und 1.1 nicht mehr. Wenn Sie nicht TLS 1.2 oder höher verwenden, erhalten Sie beim Versuch des Zugriffs auf den PowerShell-Katalog eine Fehlermeldung. Mit dem folgenden Befehl können Sie sicherstellen, dass Sie TLS 1.2 verwenden:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Weitere Informationen finden Sie im PowerShell-Blog in der Ankündigung.

Als bewährte Sicherheitsmethode bewerten Sie den Code eines Moduls, bevor Sie Cmdlets oder Funktionen zum ersten Mal ausführen. Um die Ausführung von Modulen zu verhindern, die bösartigen Code enthalten, werden installierte Module nach der Installation nicht automatisch importiert.

Wenn der durch den Parameter "Name " angegebene Modulname im Repository nicht vorhanden ist, Install-Module wird ein Fehler zurückgegeben.

Um mehrere Module zu installieren, verwenden Sie den Parameter Name , und geben Sie ein durch Komma getrenntes Array von Modulnamen an. Wenn Sie mehrere Modulnamen angeben, können Sie MinimumVersion, MaximumVersion oder RequiredVersion nicht verwenden. Find-Module erstellt PSRepositoryItemInfo-Objekte , die an die Pipeline Install-Modulegesendet werden können. Die Pipeline ist eine weitere Möglichkeit, mehrere Module anzugeben, die in einem einzelnen Befehl installiert werden sollen.

Standardmäßig werden Module für den Bereich "AllUsers " in $env:ProgramFiles\PowerShell\Modulesinstalliert. Die Standardeinstellung verhindert Verwirrung, wenn Sie PowerShell-Desired State Configuration (DSC)-Ressourcen installieren.

Eine Modulinstallation schlägt fehl und kann nicht importiert werden, wenn es keinen .psm1, .psd1oder .dll denselben Namen innerhalb des Ordners hat. Verwenden Sie den Force-Parameter , um das Modul zu installieren.

Wenn die Version eines vorhandenen Moduls dem namen entspricht, der vom Parameter "Name " angegeben wird, und der Parameter " MinimumVersion " oder "RequiredVersion " wird nicht verwendet, Install-Module jedoch nicht installiert.

Wenn die Version eines vorhandenen Moduls größer als der Wert des MinimumVersion-Parameters oder gleich dem Wert des RequiredVersion-Parameters ist, Install-Module wird das Modul nicht automatisch installiert.

Wenn das vorhandene Modul nicht mit den von den Install-Module Parametern MinimumVersion oder RequiredVersion angegebenen Werten übereinstimmt, tritt ein Fehler im Befehl auf. Wenn z. B. die Version des vorhandenen installierten Moduls niedriger als der MinimumVersion-Wert oder nicht gleich dem Wert "RequiredVersion " ist.

Eine Modulinstallation installiert auch abhängige Module, die vom Modul-Herausgeber benötigt werden. Der Herausgeber gibt die erforderlichen Module und ihre Versionen im Modulmanifest an.