다음을 통해 공유


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

Description

cmdlet은 Publish-Script 지정된 스크립트를 온라인 갤러리에 게시합니다.

Publish-PSResource cmdlet에 대한 프록시 cmdlet입니다. 자세한 내용은 Publish-PSResource를 참조하세요.

예제

예제 1: 스크립트 파일 만들기, 콘텐츠 추가 및 게시

cmdlet은 New-ScriptFileInfo 라는 Demo-Script.ps1스크립트 파일을 만듭니다. Get-Content 의 내용을 Demo-Script.ps1표시합니다. cmdlet은 Add-Content 함수와 워크플로를 추가합니다 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 cmdlet은 Publish-ScriptLocalRepo1 리포지토리에 스크립트를 게시합니다. 마침내. Find-Script Demo-Script.ps1 리포지토리에서 검색 하는 데 사용됩니다.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Credential

스크립트를 게시할 수 있는 권한이 있는 사용자 계정을 지정합니다.

형식:PSCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Force

프록시 cmdlet은 이 매개 변수가 지원 Publish-PSResource되지 않으므로 무시합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LiteralPath

하나 이상의 위치에 대한 경로를 지정합니다. Path 매개 변수와 달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표를 사용하면 Windows PowerShell에서 어떤 문자도 이스케이프 시퀀스로 해석하지 않도록 할 수 있습니다.

매개 변수는 cmdlet의 Path 매개 변수에 Publish-PSResource 매핑됩니다.

형식:String
별칭:PSPath
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NuGetApiKey

스크립트를 온라인 갤러리에 게시하는 데 사용할 API 키를 지정합니다. API 키는 온라인 갤러리에서 프로필의 일부입니다. 자세한 내용은 API 키 관리를 참조하세요.

매개 변수는 cmdlet의 ApiKey 매개 변수에 Publish-PSResource 매핑됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Path

하나 이상의 위치에 대한 경로를 지정합니다. 와일드카드가 허용됩니다. 기본 위치는 현재 디렉터리입니다.

형식:String
Position:Named
Default value:<Current ___location>
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-Repository

실행 Register-PSRepository하여 등록된 리포지토리의 이름을 지정합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

PSCredential

출력

Object

참고

PowerShell 갤러리는 더 이상 TLS(전송 계층 보안) 버전 1.0 및 1.1을 지원하지 않습니다. TLS 1.2 이상을 사용해야 합니다. 다음 명령을 사용하여 TLS 1.2를 사용하고 있는지 확인합니다.

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