次の方法で共有


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 コマンドレットは、指定したスクリプトをオンライン ギャラリーに発行します。

これは、Microsoft.PowerShell.PSResourceGetPublish-PSResource コマンドレットのプロキシ コマンドレットです。 詳細については、「 Publish-PSResource」を参照してください。

例 1: スクリプト ファイルを作成し、それにコンテンツを追加して発行する

New-ScriptFileInfo コマンドレットは、Demo-Script.ps1という名前のスクリプト ファイルを作成します。 Get-Content には、 Demo-Script.ps1のコンテンツが表示されます。 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

Test-ScriptFileInfo コマンドレットは、Demo-Script.ps1を検証します。 Publish-Script コマンドレットは、スクリプトを LocalRepo1 リポジトリに発行します。 最終的に。 Find-Scriptは、LocalRepo1 リポジトリ内のDemo-Script.ps1を検索するために使用されます。

パラメーター

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

型:PSCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Force

プロキシ コマンドレットは、 Publish-PSResourceでサポートされていないため、このパラメーターを無視します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-LiteralPath

1 つ以上の場所へのパスを指定します。 Path パラメーターとは異なり、LiteralPath パラメーターの値は入力したとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、文字をエスケープ シーケンスとして解釈しないように Windows PowerShell に指示します。

パラメーターは、Publish-PSResource コマンドレットの Path パラメーターにマップされます。

型:String
Aliases:PSPath
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-NuGetApiKey

オンライン ギャラリーにスクリプトを発行するために使用する API キーを指定します。 API キーは、オンライン ギャラリー内のプロファイルの一部です。 詳細については、 API キーの管理を参照してください。

パラメーターは、Publish-PSResource コマンドレットの ApiKey パラメーターにマップされます。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

1 つ以上の場所へのパスを指定します。 ワイルドカードを使用できます。 既定の場所は、現在のディレクトリです。

型:String
配置:Named
規定値:<Current ___location>
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:True

-Repository

Register-PSRepositoryを実行して登録されたリポジトリのフレンドリ名を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値: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