Publish-Script

发布脚本。

语法

Publish-Script
       -Path <String>
       [-NuGetApiKey <String>]
       [-Repository <String>]
       [-Credential <PSCredential>]
       [-Force]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Publish-Script
       -LiteralPath <String>
       [-NuGetApiKey <String>]
       [-Repository <String>]
       [-Credential <PSCredential>]
       [-Force]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

说明

Publish-Script cmdlet 将指定的脚本发布到联机库。

示例

示例 1:创建脚本文件、向其添加内容并发布它

New-ScriptFileInfo cmdlet 将创建一个名为 Demo-Script.ps1.. Get-Content 显示 . 的内容 Demo-Script.ps1。 该 Add-Content cmdlet 将函数和工作流添加到 Demo-Script.ps1

$newScriptInfo = @{
  Path = 'D:\ScriptSharingDemo\Demo-Script.ps1'
  Version = '1.0'
  Author = 'author@contoso.com'
  Description = "my test script file description goes here"
}
New-ScriptFileInfo @newScriptInfo
Get-Content -Path $newScriptInfo.Path

<#PSScriptInfo

.VERSION 1.0

.AUTHOR pattif@microsoft.com

.COMPANYNAME

.COPYRIGHT

.TAGS

.LICENSEURI

.PROJECTURI

.ICONURI

.EXTERNALMODULEDEPENDENCIES

.REQUIREDSCRIPTS

.EXTERNALSCRIPTDEPENDENCIES

.RELEASENOTES
#>

<#
.DESCRIPTION
 my test script file description goes here
#>
Param()

Add-Content -Path D:\ScriptSharingDemo\Demo-Script.ps1 -Value @"

Function Demo-ScriptFunction { 'Demo-ScriptFunction' }

Workflow Demo-ScriptWorkflow { 'Demo-ScriptWorkflow' }

Demo-ScriptFunction
Demo-ScriptWorkflow
"@
Test-ScriptFileInfo -Path D:\ScriptSharingDemo\Demo-Script.ps1

Version    Name                 Author                   Description
-------    ----                 ------                   -----------
1.0        Demo-Script          author@contoso.com       my test script file description goes here

Publish-Script -Path D:\ScriptSharingDemo\Demo-Script.ps1 -Repository LocalRepo1
Find-Script -Repository LocalRepo1 -Name "Demo-Script"

Version    Name                 Type       Repository    Description
-------    ----                 ----       ----------    -----------
1.0        Demo-Script          Script     LocalRepo1    my test script file description goes here

cmdlet Test-ScriptFileInfo 验证 Demo-Script.ps1。 该 Publish-Script cmdlet 将脚本发布到 LocalRepo1 存储库。 最后。 Find-Script用于在 LocalRepo1 存储库中搜索Demo-Script.ps1

参数

-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

-LiteralPath

指定通向一个或多个位置的路径。 与 Path 参数不同, LiteralPath 参数的值与输入完全相同。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它们括在单引号中。 单引号告知 Windows PowerShell 不要将任何字符解释为转义序列。

类型:String
别名:PSPath
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-NuGetApiKey

指定要用于将脚本发布到联机库的 API 密钥。 API 密钥是联机库中配置文件的一部分。 有关详细信息,请参阅 管理 API 密钥

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Path

指定通向一个或多个位置的路径。 允许使用通配符。 默认位置为当前目录。

类型:String
Position:Named
默认值:<Current ___location>
必需:True
接受管道输入:True
接受通配符:True

-Repository

指定通过运行 Register-PSRepository注册的存储库的友好名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

PSCredential

输出

Object

备注

重要

截至 2020 年 4 月,PowerShell 库不再支持传输层安全性(TLS)版本 1.0 和 1.1。 如果未使用 TLS 1.2 或更高版本,则尝试访问 PowerShell 库时会收到错误。 使用以下命令确保使用的是 TLS 1.2:

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

有关详细信息,请参阅 PowerShell 博客中的 公告