Install-Module
Lädt mindestens ein Modul 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 die angegebenen Kriterien aus einem Onlinerepository erfüllen. Das Cmdlet überprüft, ob die Suchergebnisse gültige Module sind, und kopiert die Modulordner an den Installationsspeicherort. Installierte Module werden nach der Installation nicht automatisch importiert.
Sie können anhand der minimalen, maximalen und genauen Versionen der angegebenen Module filtern, welches Modul installiert ist.
Wenn das zu installierende Modul denselben Namen oder dieselbe Version hat oder Befehle in einem vorhandenen Modul enthält, werden Warnmeldungen angezeigt. Nachdem Sie bestätigt haben, dass Sie das Modul installieren und die Warnungen überschreiben möchten, verwenden Sie die -Force
Parameter und -AllowClobber
. Abhängig von Ihren Repositoryeinstellungen müssen Sie möglicherweise eine Eingabeaufforderung beantworten, damit die Modulinstallation fortgesetzt werden kann.
In diesen Beispielen wird das PowerShell-Katalog als einziges registriertes Repository verwendet. Get-PSRepository
zeigt die registrierten Repositorys an. Wenn Sie über mehrere registrierte Repositorys verfügen, verwenden Sie den -Repository
Parameter, um den 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
Verwendet Find-Module
den Name-Parameter , um das PowerShellGet-Modul anzugeben. Standardmäßig wird die neueste Version des Moduls aus dem Repository heruntergeladen. Das Objekt wird in der Pipeline 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 anhand des Namens
In diesem Beispiel wird die neueste Version des PowerShellGet-Moduls installiert.
Install-Module -Name PowerShellGet
Verwendet Install-Module
den Name-Parameter , um das PowerShellGet-Modul anzugeben. Standardmäßig wird die neueste Version des Moduls aus dem Repository heruntergeladen und installiert.
Beispiel 3: Installieren eines Moduls mit seiner Mindestversion
In diesem Beispiel wird die Mindestversion des PowerShellGet-Moduls installiert. Der Parameter MinimumVersion gibt die niedrigste Version des Moduls an, das installiert werden soll. Wenn eine neuere Version des Moduls verfügbar ist, wird diese Version heruntergeladen und für alle Benutzer installiert.
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
Verwendet Install-Module
den Name-Parameter , um das PowerShellGet-Modul anzugeben. Der Parameter MinimumVersion 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 heruntergeladen und für alle Benutzer 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
Verwendet Install-Module
den Name-Parameter , um das PowerShellGet-Modul anzugeben. Der Parameter RequiredVersion gibt an, dass Version 2.0.0 für alle Benutzer heruntergeladen und installiert wird.
Beispiel 5: Installieren eines Moduls nur für den aktuellen Benutzer
In diesem Beispiel wird die neueste Version eines Moduls heruntergeladen und nur für den aktuellen Benutzer installiert.
Install-Module -Name PowerShellGet -Scope CurrentUser
Verwendet Install-Module
den Name-Parameter , um das PowerShellGet-Modul anzugeben.
Install-Module
lädt die neueste Version von PowerShellGet herunter und installiert sie in das Verzeichnis des aktuellen Benutzers. $home\Documents\PowerShell\Modules
Parameter
-AcceptLicense
Für Module, die eine Lizenz erfordern, akzeptiert AcceptLicense während der Installation automatisch den Lizenzvertrag. Weitere Informationen finden Sie unter Module, die Lizenzakzeptanz erfordern.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowClobber
Überschreibt Warnmeldungen 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 zusammen in einem Install-Module
Befehl verwendet werden.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
Ermöglicht 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 Berechtigungen zum Installieren eines Moduls für einen angegebenen Paketanbieter oder eine angegebene 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 Warnmeldungen zu Modulinstallationskonflikten. Wenn auf dem Computer bereits ein Modul mit demselben Namen vorhanden ist, ermöglicht Force die Installation mehrerer Versionen. Wenn ein Modul mit demselben Namen und derselben Version vorhanden ist, überschreibt Force diese Version. Force und AllowClobber können zusammen in einem Install-Module
Befehl 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 direkt für 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 maximal zu installierende Version eines einzelnen Moduls an. 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 Zu installierende Mindestversion eines einzelnen Moduls an. 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 im gleichen 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 der Module an, die aus dem Onlinekatalog installiert werden sollen. Eine durch Trennzeichen getrennte Liste von Modulnamen wird akzeptiert. Der Modulname muss mit dem Modulnamen im Repository übereinstimmen. Verwenden Sie Find-Module
, um eine Liste von Modulnamen abzurufen.
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 eine direkte Verbindung mit der Internetressource herzustellen.
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 Repository-Parameter , um anzugeben, welches Repository zum Herunterladen und Installieren eines Moduls verwendet wird. Wird verwendet, wenn mehrere Repositorys registriert werden. Gibt den Namen eines registrierten Repositorys im Befehl an Install-Module
. Verwenden Register-PSRepository
Sie zum Registrieren eines Repositorys .
Verwenden Get-PSRepository
Sie zum Anzeigen registrierter Repositorys .
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. RequiredVersion kann nicht im selben 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 AllUsers-Bereich installiert Module an einem Speicherort, auf den alle Benutzer des Computers zugreifen können:
$env:ProgramFiles\PowerShell\Modules
Der CurrentUser installiert Module an einem Speicherort, auf den nur der aktuelle Benutzer des Computers zugreifen kann. Beispiel:
$home\Documents\PowerShell\Modules
Wenn kein Bereich definiert ist, wird der Standardwert basierend auf der PowerShellGet-Version festgelegt.
- In PowerShellGet-Versionen 2.0.0 und höher ist der Standardwert CurrentUser, was für die Installation keine Erhöhung erfordert.
- In PowerShellGet 1.x-Versionen ist der Standardwert AllUsers, was für die Installation eine Erhöhung 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 die Installation einer neueren Version eines Moduls, das bereits auf Ihrem Computer vorhanden ist. Beispielsweise, wenn ein vorhandenes Modul von einem vertrauenswürdigen Herausgeber digital signiert wird, die neue Version jedoch nicht von einem vertrauenswürdigen Herausgeber digital signiert wird.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt an, was passieren würde, wenn ein Install-Module
Befehl ausgeführt würde. 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 über die Pipeline an Install-Module
gesendet werden können.
String[]
PSObject[]
Ausgaben
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
Bei Verwendung des PassThru-ParametersInstall-Module
gibt ein PSRepositoryItemInfo-Objekt für das Modul aus. Dies sind die gleichen Informationen, die Sie vom Find-Module
Cmdlet erhalten.
Hinweise
Install-Module
wird unter PowerShell 5.0 oder höher, unter Windows 7 oder Windows 2008 R2 und höheren Versionen von Windows ausgeführt.
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 sollten Sie den Code eines Moduls auswerten, bevor Sie Cmdlets oder Funktionen zum ersten Mal ausführen. Um die Ausführung von Modulen zu verhindern, die schädlichen 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
gibt einen Fehler zurück.
Verwenden Sie zum Installieren mehrerer Module den Parameter Name , und geben Sie ein durch Trennzeichen 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 über die Pipeline an Install-Module
gesendet werden können. Die Pipeline ist eine weitere Möglichkeit, mehrere Module anzugeben, die in einem einzigen Befehl installiert werden sollen.
Standardmäßig werden Module für den Bereich von AllUsers in $env:ProgramFiles\PowerShell\Modules
installiert. Die Standardeinstellung verhindert Verwechslungen beim Installieren von PowerShell Desired State Configuration (DSC)-Ressourcen.
Eine Modulinstallation schlägt fehl und kann nicht importiert werden, wenn sie nicht über , .psm1
.psd1
oder .dll
denselben Namen im Ordner verfügt. Verwenden Sie den Force-Parameter , um das Modul zu installieren.
Wenn die Version eines vorhandenen Moduls mit dem im Parameter Name angegebenen Namen übereinstimmt und der Parameter MinimumVersion oder RequiredVersion nicht verwendet werden, wird das Modul automatisch fortgesetzt, Install-Module
aber nicht installiert.
Wenn die Version eines vorhandenen Moduls größer als der Wert des MinimumVersion-Parameters oder gleich dem Wert des RequiredVersion-Parameters ist, wird das Modul automatisch fortgesetzt, Install-Module
aber nicht installiert.
Wenn das vorhandene Modul nicht mit den werten übereinstimmt, die durch den Parameter MinimumVersion oder RequiredVersion angegeben werden, tritt im Install-Module
Befehl ein Fehler auf. Beispiel: Die Version des vorhandenen installierten Moduls ist niedriger als der MinimumVersion-Wert oder nicht gleich dem RequiredVersion-Wert .
Bei einer Modulinstallation werden auch alle abhängigen Module installiert, die vom Modulherausgeber benötigt werden. Der Herausgeber gibt die erforderlichen Module und deren Versionen im Modulmanifest an.