Update-PSScriptFileInfo
This cmdlet updates the comment-based metadata in an existing script .ps1
file.
Syntax
Update-PSScriptFileInfo
[-Author <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-Description <String>]
[-ExternalModuleDependencies <String[]>]
[-ExternalScriptDependencies <String[]>]
[-Guid <Guid>]
[-IconUri <String>]
[-LicenseUri <String>]
[-Path] <String>
[-PrivateData <String>]
[-ProjectUri <String>]
[-ReleaseNotes <String>]
[-RemoveSignature]
[-RequiredModules <Hashtable[]>]
[-RequiredScripts <String[]>]
[-Tags <String[]>]
[-Version <String>]
[<CommonParameters>]
Description
This cmdlet updates the comment-based metadata in an existing script .ps1
file. This is similar to
Update-ModuleManifest
.
Examples
Example 1: Update the version of a script
In this example, a script is created with Version set to 1.0.0.0
. Update-PSScriptFileInfo
changes the Version' to 2.0.0.0
. The Get-Content
cmdlet shows the updated contents of the
script.
$parameters = @{
FilePath = "C:\Users\johndoe\MyScripts\test_script.ps1"
Version = "1.0.0.0"
Description = "this is a test script"
}
New-PSScriptFileInfo @parameters
$parameters.Version = "2.0.0.0"
Update-PSScriptFileInfo @parameters
Get-Content $parameters.FilePath
<#PSScriptInfo
.VERSION 2.0.0.0
.GUID 6ec3934e-a2e0-495b-9a9c-480e555ad1d1
.AUTHOR johndoe
.COMPANYNAME
.COPYRIGHT
.TAGS
.LICENSEURI
.PROJECTURI
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES
.PRIVATEDATA
#>
<#
.DESCRIPTION
this is a test script
#>
Parameters
-Author
The name of the author of the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompanyName
The name of the company owning the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
The copyright information for the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
The description of the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExternalModuleDependencies
The list of external module dependencies taken by this script.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExternalScriptDependencies
The list of external script dependencies taken by this script.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Guid
The unique identifier for the script in GUID format.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IconUri
A Uniform Resource Identifier (URI) pointing to the icon associated with the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LicenseUri
The URI pointing to the license agreement file associated with the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
The filename and location of the script.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PrivateData
The private data associated with the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProjectUri
The URI pointing to the project site associated with the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReleaseNotes
The release notes for the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoveSignature
Removes the signature from a signed .ps1
file, allowing you to update the script. You should
re-sign the after updating the file.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredModules
The parameter takes an array of module specification hashtables. A module specification is a hashtable that has the following keys.
ModuleName
- Required Specifies the module name.GUID
- Optional Specifies the GUID of the module.- It's also Required to specify at least one of the three below keys.
ModuleVersion
- Specifies a minimum acceptable version of the module.MaximumVersion
- Specifies the maximum acceptable version of the module.RequiredVersion
- Specifies an exact, required version of the module. This can't be used with the other Version keys.
Type: | Hashtable[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredScripts
The list of scripts required by the script.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tags
The tags associated with the script. Tag values are strings that shouldn't contain spaces. For more information, see Tag details.
Type: | String[] |
Aliases: | Tag |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Version
The version of the script.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
Outputs
Notes
The New-PSScriptFileInfo
and Update-PSScriptFileInfo
cmdlets place the #requires
statements
for required modules between the <#PSScriptInfo
and comment-based help blocks of the help file.
The Get-PSScriptFileInfo
expects #requires
statements to be placed somewhere before the
comment-based help block. Any #requires
statements placed after the comment-based help block are
ignored by Get-PSScriptFileInfo
and Publish-PSResource
.