Install-Script
安装脚本。
语法
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>]
说明
该 Install-Script
cmdlet 从存储库获取脚本有效负载,验证有效负载是否为有效的 PowerShell 脚本,并将脚本文件复制到指定的安装位置。
默认存储库Install-Script
从第一个存储库安装与指定搜索条件(名称、 MinimumVersion 或 MaximumVersion)匹配的第一个脚本,没有任何错误。
示例
示例 1:查找脚本并将其安装
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
第一个命令查找从 Local1 存储库命名 Required-Script2
的脚本,并显示结果。
第二个命令查找 Required-Script2
脚本,然后使用管道运算符将其 Install-Script
传递给 cmdlet 以安装它。
第三个命令使用 Get-Command
cmdlet 获取 Required-Script2
,然后显示结果。
第四个命令使用 Get-InstalledScript
cmdlet 获取 Required-Script2
和显示结果。
第五个命令获取 Required-Script2
并使用管道运算符将其 Format-List
传递给 cmdlet 以格式化输出。
示例 2:安装具有 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
第一个命令安装命名 Required-Script3
的脚本并为其分配 AllUsers 范围。
第二个命令获取已安装的脚本 Required-Script3
并显示有关它的信息。
第三个命令获取 Required-Script3
并使用管道运算符将其 Format-List
传递给 cmdlet 以格式化输出。
示例 3:安装脚本及其依赖项
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
第一个命令查找 Local1 存储库中命名 Script-WithDependencies2
的脚本及其依赖项,并显示结果。
第二个命令安装 Script-WithDependencies2
。
第三个命令使用 Get-InstalledScript
脚本 cmdlet 获取已安装的脚本并显示结果。
第四个命令使用 Get-InstalledModule
cmdlet 获取已安装的模块并显示结果。
第五个命令使用 Find-Script
cmdlet 查找名称开头 Required-Script
并显示结果的脚本。
第六个命令将安装名称以 Local1 存储库开头 Required-Script
的脚本。
最终命令将安装脚本并显示结果。
参数
-AcceptLicense
如果模块需要许可协议,则自动接受安装期间的许可协议。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AllowPrerelease
允许安装标记为预发行版的脚本。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定有权为指定的包提供程序或源安装脚本的用户帐户。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Force
强制命令运行而不要求用户确认。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputObject
用于管道输入。 如果直接提供给 InputObject 的值,则会引发错误。 使用管道通过 InputObject 参数传递对象。
类型: | PSObject[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-MaximumVersion
指定要安装的单个脚本的最大版本。 如果尝试安装多个脚本,则无法添加此参数。 MaximumVersion 和 RequiredVersion 参数互斥;不能在同一命令中使用这两个参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-MinimumVersion
指定要安装的单个脚本的最低版本。 如果尝试安装多个脚本,则无法添加此参数。 MinimumVersion 和 RequiredVersion 参数互斥;不能在同一命令中使用这两个参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Name
指定要安装的脚本的名称数组。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-NoPathUpdate
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PassThru
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Proxy
指定请求的代理服务器,而不是直接连接到 Internet 资源。
类型: | Uri |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ProxyCredential
指定有权使用 Proxy 参数指定的代理服务器的用户帐户。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Repository
指定已向 cmdlet 注册的存储库的 Register-PSRepository
友好名称。 默认值为所有已注册的存储库。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RequiredVersion
指定要安装的脚本的确切版本号。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Scope
指定脚本的安装范围。 有效值为:AllUsers 和 CurrentUser。
AllUsers 范围允许模块安装在计算机所有用户可访问的位置,即 $env:ProgramFiles\WindowsPowerShell\Scripts
。
CurrentUser 范围仅允许将模块安装到 $HOME\Documents\WindowsPowerShell\Scripts
该范围,以便该模块仅适用于当前用户。
如果未定义 作用域 ,则会根据当前会话设置默认值:
- 对于提升的 PowerShell 会话, 范围 默认为 AllUsers;
- 对于 PowerShellGet 2.0.0 及更高版本中未提升的 PowerShell 会话, 范围 为 CurrentUser;
- 对于 PowerShellGet 版本 1.6.7 及更早版本中未提升的 PowerShell 会话, 范围 未定义且
Install-Module
失败。
类型: | String |
接受的值: | CurrentUser, AllUsers |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
String[]
PSObject[]
输出
备注
重要
截至 2020 年 4 月,PowerShell 库不再支持传输层安全性(TLS)版本 1.0 和 1.1。 如果未使用 TLS 1.2 或更高版本,则尝试访问 PowerShell 库时会收到错误。 使用以下命令确保使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
有关详细信息,请参阅 PowerShell 博客中的 公告。