Install-Script

Installiert ein Skript.

Syntax

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

Beschreibung

Das Install-Script Cmdlet ruft eine Skriptnutzlast aus einem Repository ab, überprüft, ob es sich bei der Nutzlast um ein gültiges PowerShell-Skript handelt, und kopiert die Skriptdatei an einen angegebenen Installationsspeicherort.

Die Standardrepositorys Install-Script sind über die Register-PSRepositoryCmdlets , Set-PSRepository, Unregister-PSRepositoryund Get-PSRepository konfigurierbar. Wenn Sie mit mehreren Repositorys arbeiten, installiert das erste Skript, Install-Script das den angegebenen Suchkriterien (Name, MinimumVersion oder MaximumVersion) entspricht, ohne Fehler aus dem ersten Repository.

Beispiele

Beispiel 1: Suchen und Installieren eines Skripts

PS C:\> Find-Script -Repository "Local1" -Name "Required-Script2"
Version    Name                           Type       Repository           Description
-------    ----                           ----       ----------           -----------
2.5        Required-Script2               Script     local1               Description for the Required-Script2 script

PS C:\> Find-Script -Repository "Local1" -Name "Required-Script2" | Install-Script
PS C:\> Get-Command -Name "Required-Script2"
CommandType     Name                      Version    Source
-----------     ----                      -------    ------
ExternalScript  Required-Script2.ps1      2.0       C:\Users\pattif\Documents\WindowsPowerShell\Scripts\Required-Script2.ps1

PS C:\> Get-InstalledScript -Name "Required-Script2"
Version    Name                  Type     Repository           Description
-------    ----                  ----     ----------           -----------
2.5        Required-Script2      Script   local1               Description for the Required-Script2 script

PS C:\> Get-InstalledScript -Name "Required-Script2" | Format-List *
Name                       : Required-Script2
Version                    : 2.5
Type                       : Script
Description                : Description for the Required-Script2 script
Author                     : pattif
CompanyName                :
Copyright                  : 2015 Microsoft Corporation. All rights reserved.
PublishedDate              : 8/15/2015 12:42:39 AM
LicenseUri                 : http://required-script2.com/license
ProjectUri                 : http://required-script2.com/
IconUri                    : http://required-script2.com/icon
Tags                       : {Tag1, Tag2, Tag-Required-Script2-2.5, PSScript...}
Includes                   : {Function, DscResource, Cmdlet, Command}
PowerShellGetFormatVersion :
ReleaseNotes               : Required-Script2 release notes
Dependencies               : {}
RepositorySourceLocation   : http://pattif-dev:8765/api/v2/
Repository                 : local1
PackageManagementProvider  : NuGet
InstalledLocation          : C:\Users\pattif\Documents\WindowsPowerShell\Scripts

Der erste Befehl findet das Skript mit dem Namen Required-Script2 aus dem Local1-Repository und zeigt die Ergebnisse an.

Der zweite Befehl sucht das Required-Script2 Skript und verwendet dann den Pipelineoperator, um es an das Install-Script Cmdlet zu übergeben, um es zu installieren.

Der dritte Befehl verwendet das Get-Command Cmdlet, um abzurufen Required-Script2, und zeigt dann die Ergebnisse an.

Der vierte Befehl verwendet das Get-InstalledScript Cmdlet, um die Ergebnisse abzurufen Required-Script2 und anzuzeigen.

Der fünfte Befehl ruft ab Required-Script2 und verwendet den Pipelineoperator, um ihn an das Format-List Cmdlet zu übergeben, um die Ausgabe zu formatieren.

Beispiel 2: Installieren eines Skripts mit dem Bereich "AllUsers"

PS C:\> Install-Script -Repository "Local1" -Name "Required-Script3" -Scope "AllUsers"
PS C:\> Get-InstalledScript -Name "Required-Script3"
Version    Name                  Type       Repository    Description
-------    ----                  ----       ----------    -----------
2.5        Required-Script3      Script     local1        Description for the Required-Script3 script

PS C:\> Get-InstalledScript -Name "Required-Script3" | Format-List *
Name                       : Required-Script3
Version                    : 2.5
Type                       : Script
Description                : Description for the Required-Script3 script
Author                     : pattif
CompanyName                :
Copyright                  : 2015 Microsoft Corporation. All rights reserved.
PublishedDate              : 8/15/2015 12:42:45 AM
LicenseUri                 : http://required-script3.com/license
ProjectUri                 : http://required-script3.com/
IconUri                    : http://required-script3.com/icon
Tags                       : {Tag1, Tag2, Tag-Required-Script3-2.5, PSScript...}
Includes                   : {Function, DscResource, Cmdlet, Command}
PowerShellGetFormatVersion :
ReleaseNotes               : Required-Script3 release notes
Dependencies               : {}
RepositorySourceLocation   : http://pattif-dev:8765/api/v2/
Repository                 : local1
PackageManagementProvider  : NuGet
InstalledLocation          : C:\Program Files\WindowsPowerShell\Scripts

Der erste Befehl installiert das Skript mit dem Namen Required-Script3 und weist ihm den Bereich AllUsers zu.

Der zweite Befehl ruft das installierte Skript Required-Script3 ab und zeigt Informationen dazu an.

Der dritte Befehl ruft ab Required-Script3 und verwendet den Pipelineoperator, um ihn an das Format-List Cmdlet zu übergeben, um die Ausgabe zu formatieren.

Beispiel 3: Installieren eines Skripts und seiner Abhängigkeiten

PS C:\> Find-Script -Repository "Local1" -Name "Script-WithDependencies2" -IncludeDependencies
Version    Name                        Type       Repository    Description
-------    ----                        ----       ----------    -----------
2.0        Script-WithDependencies2    Script     local1        Description for the Script-WithDependencies2 script
2.5        RequiredModule1             Module     local1        RequiredModule1 module
2.5        RequiredModule2             Module     local1        RequiredModule2 module
2.5        RequiredModule3             Module     local1        RequiredModule3 module
2.5        Required-Script1            Script     local1        Description for the Required-Script1 script
2.5        Required-Script2            Script     local1        Description for the Required-Script2 script
2.5        Required-Script3            Script     local1        Description for the Required-Script3 script

PS C:\> Install-Script -Repository "Local1" -Name "Script-WithDependencies2"
PS C:\> Get-InstalledScript
Version    Name                        Type       Repository    Description
-------    ----                        ----       ----------    -----------
2.5        Required-Script1            Script     local1        Description for the Required-Script1 script
2.5        Required-Script2            Script     local1        Description for the Required-Script2 script
2.5        Required-Script3            Script     local1        Description for the Required-Script3 script
2.0        Script-WithDependencies2    Script     local1        Description for the Script-WithDependencies2 script

PS C:\> Get-InstalledModule
Version    Name                        Type       Repository    Description
-------    ----                        ----       ----------    -----------
2.5        RequiredModule1             Module     local1        RequiredModule1 module
2.5        RequiredModule2             Module     local1        RequiredModule2 module
2.5        RequiredModule3             Module     local1        RequiredModule3 module

PS C:\> Find-Script -Repository "Local1" -Name "Required-Script*"
Version    Name                        Type       Repository    Description
-------    ----                        ----       ----------    -----------
2.5        Required-Script1            Script     local1        Description for the Required-Script1 script
2.5        Required-Script2            Script     local1        Description for the Required-Script2 script
2.5        Required-Script3            Script     local1        Description for the Required-Script3 script

PS C:\> Install-Script -Repository "Local1" -Name "Required-Script*"
PS C:\> Get-InstalledScript
Version    Name                        Type       Repository    Description
-------    ----                        ----       ----------    -----------
2.5        Required-Script1            Script     local1        Description for the Required-Script1 script
2.5        Required-Script2            Script     local1        Description for the Required-Script2 script
2.5        Required-Script3            Script     local1        Description for the Required-Script3 script

Der erste Befehl findet das Skript mit dem Namen Script-WithDependencies2 und dessen Abhängigkeiten im Repository Local1 und zeigt die Ergebnisse an.

Mit dem zweiten Befehl wird installiert Script-WithDependencies2.

Der dritte Befehl verwendet das Get-InstalledScript Skript-Cmdlet, um installierte Skripts abzurufen und die Ergebnisse anzuzeigen.

Der vierte Befehl verwendet das Get-InstalledModule Cmdlet, um installierte Module abzurufen und die Ergebnisse anzuzeigen.

Der fünfte Befehl verwendet das Find-Script Cmdlet, um Skripts zu finden, mit Required-Script denen der Name beginnt, und um die Ergebnisse anzuzeigen.

Mit dem sechsten Befehl werden die Skripts installiert, deren Name mit Required-Script beginnt, im Repository Local1.

Der letzte Befehl ruft installierte Skripts ab und zeigt die Ergebnisse an.

Parameter

-AcceptLicense

Akzeptieren Sie den Lizenzvertrag automatisch während der Installation, wenn sie für das Modul erforderlich ist.

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

-AllowPrerelease

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

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

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

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 Skripts 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

Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.

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 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 einzelner Skripts an, die installiert werden soll. Sie können diesen Parameter nicht hinzufügen, wenn Sie versuchen, mehrere Skripts zu installieren. Die Parameter MaximumVersion und RequiredVersion schließen sich gegenseitig aus. Sie können nicht beide Parameter im selben Befehl verwenden.

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

-MinimumVersion

Gibt die Mindestversion eines einzelnen Skripts an, das installiert werden soll. Sie können diesen Parameter nicht hinzufügen, wenn Sie versuchen, mehrere Skripts zu installieren. Die Parameter MinimumVersion und RequiredVersion schließen sich gegenseitig aus. Sie können nicht beide Parameter im selben Befehl verwenden.

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

-Name

Gibt ein Array von Namen von Skripts an, die installiert werden sollen.

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

-NoPathUpdate

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

-PassThru

Type:SwitchParameter
Position:Named
Default value:None
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

Gibt den Anzeigenamen eines Repositorys an, das beim Register-PSRepository Cmdlet registriert wurde. Der Standardwert sind alle registrierten Repositorys.

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

-RequiredVersion

Gibt die genaue Versionsnummer des zu installierenden Skripts an.

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

-Scope

Gibt den Bereich der Installation des Skripts an. Gültige Werte sind: AllUsers und CurrentUser.

Mit dem AllUsers-Bereich können Module an einem Speicherort installiert werden, auf den alle Benutzer des Computers zugreifen können, $env:ProgramFiles\WindowsPowerShell\Scriptsd. h. .

Im CurrentUser-Bereich können Module nur in $HOME\Documents\WindowsPowerShell\Scriptsinstalliert werden, sodass das Modul nur für den aktuellen Benutzer verfügbar ist.

Wenn kein Bereich definiert ist, wird der Standardwert basierend auf der aktuellen Sitzung festgelegt:

  • Für eine PowerShell-Sitzung mit erhöhten Rechten ist Der Bereich standardmäßig Auf AllUsers festgelegt.
  • Für PowerShell-Sitzungen mit nicht erhöhten Rechten in PowerShellGet-Versionen 2.0.0 und höher lautet Der Bereich CurrentUser;
  • Bei PowerShell-Sitzungen mit nicht erhöhten Rechten in PowerShellGet-Versionen 1.6.7 und früher ist der Bereich nicht definiert und Install-Module schlägt fehl.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. 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

String[]

PSObject[]

String

Uri

PSCredential

Ausgaben

Object

Hinweise

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.