New-ScriptFileInfo
建立含有中繼資料的指令檔。
Syntax
New-ScriptFileInfo
[[-Path] <String>]
[-Version <String>]
[-Author <String>]
-Description <String>
[-Guid <Guid>]
[-CompanyName <String>]
[-Copyright <String>]
[-RequiredModules <Object[]>]
[-ExternalModuleDependencies <String[]>]
[-RequiredScripts <String[]>]
[-ExternalScriptDependencies <String[]>]
[-Tags <String[]>]
[-ProjectUri <Uri>]
[-LicenseUri <Uri>]
[-IconUri <Uri>]
[-ReleaseNotes <String[]>]
[-PrivateData <String>]
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet New-ScriptFileInfo
會建立 PowerShell 腳本檔案,包括腳本的相關中繼資料。
這是Microsoft.PowerShell.PSResourceGet中 Cmdlet 的 Proxy Cmdlet New-PSScriptFileInfo
。 如需詳細資訊,請參閱 New-PSScriptFileInfo。
範例
範例 1:建立腳本檔案並指定其版本、作者和描述
在此範例中,會建立腳本檔案,並在 PowerShell 主控台中顯示其內容。
$Parms = @{
Path = "C:\Test\Temp-Scriptfile.ps1"
Version = "1.0"
Author = "pattif@contoso.com"
Description = "My test script file description goes here"
}
New-ScriptFileInfo @Parms
Get-Content -Path C:\Test\Temp-Scriptfile.ps1
<#PSScriptInfo
.VERSION 1.0
.GUID 3bb10ee7-38c1-41b9-88ea-16899164fc19
.AUTHOR pattif@contoso.com
.COMPANYNAME
.COPYRIGHT
.TAGS
.LICENSEURI
.PROJECTURI
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES
.PRIVATEDATA
#>
<#
.DESCRIPTION
My test script file description goes here
#>
Param()
Cmdlet New-ScriptFileInfo
會使用 splatting 來設定腳本的數個參數。
路徑 會設定腳本的位置和名稱。 Version 會指定腳本的版本號碼。 作者 是建立腳本的人員電子郵件地址。 描述 說明腳本的用途。
建立腳本之後, Get-Content
請使用 Path 參數來找出腳本。 腳本的內容會顯示在 PowerShell 主控台中。
範例 2:測試腳本檔案
在此範例中,會測試 範例 1 中所建立腳本的中繼資料。
Test-ScriptFileInfo -Path C:\Test\Temp-Scriptfile.ps1
Version Name Author Description
------- ---- ------ -----------
1.0 Temp-Scriptfile pattif@contoso.com My test script file description goes here
Cmdlet Test-ScriptFileInfo
會使用 Path 參數來指定腳本檔案的位置。
範例 3:建立具有所有中繼資料屬性的腳本檔案
此範例會使用 splatting 來建立名為 New-ScriptFile.ps1
的腳本檔案,其中包含其所有中繼資料屬性。 Verbose參數會指定建立腳本時會顯示詳細資訊輸出。
$Parms = @{
Path = "C:\Test\New-ScriptFile.ps1"
Verbose = $True
Version = "1.0"
Author = "pattif@contoso.com"
Description = "My new script file test"
CompanyName = "Contoso Corporation"
Copyright = "2019 Contoso Corporation. All rights reserved."
ExternalModuleDependencies = "ff","bb"
RequiredScripts = "Start-WFContosoServer", "Stop-ContosoServerScript"
ExternalScriptDependencies = "Stop-ContosoServerScript"
Tags = @("Tag1", "Tag2", "Tag3")
ProjectUri = "https://contoso.com"
LicenseUri = "https://contoso.com/License"
IconUri = "https://contoso.com/Icon"
PassThru = $True
ReleaseNotes = @("Contoso script now supports the following features:",
"Feature 1",
"Feature 2",
"Feature 3",
"Feature 4",
"Feature 5")
RequiredModules =
"1",
"2",
"RequiredModule1",
@{ModuleName="RequiredModule2";ModuleVersion="1.0"},
@{ModuleName="RequiredModule3";RequiredVersion="2.0"},
"ExternalModule1"
}
New-ScriptFileInfo @Parms
VERBOSE: Performing the operation "Creating the 'C:\Test\New-ScriptFile.ps1'
PowerShell Script file" on target "C:\Test\New-ScriptFile.ps1".
<#PSScriptInfo
.VERSION 1.0
.GUID 4fabe8c7-7862-45b1-a72e-1352a433b77d
.AUTHOR pattif@contoso.com
.COMPANYNAME Contoso Corporation
.COPYRIGHT 2019 Contoso Corporation. All rights reserved.
.TAGS Tag1 Tag2 Tag3
.LICENSEURI https://contoso.com/License
.PROJECTURI https://contoso.com/
.ICONURI https://contoso.com/Icon
.EXTERNALMODULEDEPENDENCIES ff,bb
.REQUIREDSCRIPTS Start-WFContosoServer,Stop-ContosoServerScript
.EXTERNALSCRIPTDEPENDENCIES Stop-ContosoServerScript
.RELEASENOTES
Contoso script now supports the following features:
Feature 1
Feature 2
Feature 3
Feature 4
Feature 5
.PRIVATEDATA
#>
#Requires -Module 1
#Requires -Module 2
#Requires -Module RequiredModule1
#Requires -Module @{ModuleName = 'RequiredModule2'; ModuleVersion = '1.0'}
#Requires -Module @{RequiredVersion = '2.0'; ModuleName = 'RequiredModule3'}
#Requires -Module ExternalModule1
<#
.DESCRIPTION
My new script file test
#>
Param()
參數
-Author
指定腳本作者。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompanyName
指定建立腳本的公司或廠商。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
在執行 之前 New-ScriptFileInfo
,提示您進行確認。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
指定腳本的著作權聲明。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
指定腳本的描述。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExternalModuleDependencies
指定外部模組相依性的陣列。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExternalScriptDependencies
指定外部腳本相依性的陣列。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
強制執行命令而不要求使用者確認。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Guid
指定腳本的唯一識別碼。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IconUri
指定腳本圖示的 URL。 指定的圖示會顯示在腳本的資源庫網頁上。
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LicenseUri
指定授權條款的 URL。
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Proxy Cmdlet 會忽略此參數,因為它不受 支援 New-PSScriptFileInfo
。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
指定儲存腳本檔案的位置。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PrivateData
指定腳本的私人資料。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProjectUri
指定此專案相關網頁的 URL。
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReleaseNotes
指定字串陣列,其中包含您想要供此腳本版本的使用者使用的版本資訊或批註。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredModules
指定必須在全域工作階段狀態的模組。 如果必要的模組不在全域會話狀態,PowerShell 會匯入這些模組。
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredScripts
指定必要腳本的陣列。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tags
指定標記的陣列。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Version
指定腳本的版本。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
顯示執行時 New-ScriptFileInfo
會發生什麼情況。 不會執行此 Cmdlet。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |