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
、指定したスクリプトをオンライン ギャラリーに発行します。
例
例 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
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
ユーザーに確認せずに、直ちにコマンドを実行します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
1 つ以上の場所へのパスを指定します。 Path パラメーターとは異なり、LiteralPath パラメーターの値は、入力したとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、それらを単一引用符で囲みます。 単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NuGetApiKey
スクリプトをオンライン ギャラリーに発行するために使用する API キーを指定します。 API キーは、オンライン ギャラリーのプロファイルの一部です。 詳細については、「 API キーの管理」を参照してください。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
1 つ以上の場所へのパスを指定します。 ワイルドカードを使用できます。 既定の場所は、現在のディレクトリです。
Type: | String |
Position: | Named |
Default value: | <Current location> |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Repository
を実行 Register-PSRepository
して登録されたリポジトリのフレンドリ名を指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
出力
メモ
重要
2020 年 4 月時点で、PowerShell ギャラリーでは、トランスポート層セキュリティ (TLS) バージョン 1.0 および 1.1 がサポートされなくなります。 TLS 1.2 以降を使用していない場合、PowerShell ギャラリーにアクセスしようとするとエラーが発生します。 次のコマンドを使用して、確実に TLS 1.2 を使用するようにします。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
詳細については、PowerShell ブログのお知らせを参照してください。
関連リンク
PowerShellGet