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-Module
Parameter "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-Module
Parameter "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-Module
Parameter "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-Module
Parameter "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-Module
Parameter "Name " wird verwendet, um das PowerShellGet-Modul anzugeben.
Install-Module
lädt die neueste Version von PowerShellGet in das Verzeichnis $home\Documents\PowerShell\Modules
des 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-PSRepository
zum 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-Module
gesendet werden können.
String[]
PSObject[]
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-Module
gesendet 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\Modules
installiert. 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
, .psd1
oder .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.