Freigeben über


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 erwirbt eine Skriptnutzlast aus einem Repository, überprüft, ob es sich bei der Nutzlast um ein gültiges PowerShell-Skript handelt, und kopiert die Skriptdatei an einen angegebenen Installationsspeicherort.

Dies ist ein Proxy-Cmdlet für das Install-PSResource Cmdlet in microsoft.PowerShell.PSResourceGet. Weitere Informationen finden Sie unter Install-PSResource.

Beispiele

Beispiel 1: Suchen eines Skripts und Installieren

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 namens Required-Script2 aus dem Local1-Repository und zeigt die Ergebnisse an.

Der zweite Befehl findet 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 zum Abrufen Required-Script2und zeigt dann die Ergebnisse an.

Der vierte Befehl verwendet das Get-InstalledScript Cmdlet zum Abrufen Required-Script2 und Anzeigen der Ergebnisse.

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

Beispiel 2: Installieren eines Skripts mit AllUsers-Bereich

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 namens Required-Script3 und weist ihm den Bereich "AllUsers" zu.

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

Der dritte Befehl ruft den Pipelineoperator ab Required-Script3 und verwendet ihn, 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 namens Script-WithDependencies2 und seine Abhängigkeiten im Local1-Repository und zeigt die Ergebnisse an.

Der zweite Befehl 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 die Ergebnisse anzeigt.

Der sechste Befehl installiert die Skripts, mit Required-Script denen der Name im Repository "Local1" beginnt.

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

Parameter

-AcceptLicense

Akzeptieren Sie den Lizenzvertrag während der Installation automatisch, wenn das Modul ihn benötigt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AllowPrerelease

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

Das Proxy-Cmdlet ordnet diesen Parameter dem Parameter Prerelease von Install-PSResource.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

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

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Credential

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

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Force

Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

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

Typ:PSObject[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-MaximumVersion

Das Proxy-Cmdlet verwendet den Wert dieses Parameters, um eine NuGet-Versionssuchzeichenfolge für die Verwendung mit dem Parameter "Version " Install-PSResourcezu erstellen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-MinimumVersion

Das Proxy-Cmdlet verwendet den Wert dieses Parameters, um eine NuGet-Versionssuchzeichenfolge für die Verwendung mit dem Parameter "Version " Install-PSResourcezu erstellen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

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

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-NoPathUpdate

Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PassThru

Bei Verwendung des PassThru-ParametersInstall-Script gibt ein PSRepositoryItemInfo - Objekt für das Modul aus. Dies sind die gleichen Informationen, die Sie vom Find-Script Cmdlet erhalten.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Proxy

Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource.

Typ:Uri
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ProxyCredential

Das Proxy-Cmdlet ignoriert diesen Parameter, da er nicht unterstützt wird Install-PSResource.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Repository

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

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RequiredVersion

Das Proxy-Cmdlet verwendet den Wert dieses Parameters, um eine NuGet-Versionssuchzeichenfolge für die Verwendung mit dem Parameter "Version " Install-PSResourcezu erstellen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Scope

Gibt den Installationsumfang des Skripts an. Gültige Werte sind: AllUsers und CurrentUser.

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

Der CurrentUser-Bereich ermöglicht die Installation von Modulen nur für $HOME\Documents\WindowsPowerShell\Scriptsden aktuellen Benutzer, 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:

  • Bei einer PowerShell-Sitzung mit erhöhten Rechten wird "Bereich" standardmäßig auf "AllUsers" festgelegt.
  • Für PowerShell-Sitzungen mit nicht erhöhten Rechten in PowerShellGet-Versionen 2.0.0 und höher ist Scope "CurrentUser " .
  • Für Nicht-PowerShell-Sitzungen in PowerShellGet-Versionen 1.6.7 und früheren Versionen ist "Scope " nicht definiert und Install-Module schlägt fehl.
Typ:String
Zulässige Werte:CurrentUser, AllUsers
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String[]

PSObject[]

String

Uri

PSCredential

Ausgaben

Object

Hinweise

Wichtig

Ab April 2020 unterstützt der PowerShell-Katalog die Tls-Versionen 1.0 und 1.1 nicht mehr. Wenn Sie TLS 1.2 oder höher nicht verwenden, wird beim Versuch, auf den PowerShell-Katalog zuzugreifen, eine Fehlermeldung angezeigt. Verwenden Sie den folgenden Befehl, um sicherzustellen, dass Sie TLS 1.2 verwenden:

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

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