New-​Script​File​Info

Creates a script file with metadata.

Syntax

New-ScriptFileInfo
   [[-Path] <String>]
   [-Author <String>]
   [-CompanyName <String>]
   [-Confirm]
   [-Copyright <String>]
   -Description <String>
   [-ExternalModuleDependencies <String[]>]
   [-ExternalScriptDependencies <String[]>]
   [-Force]
   [-Guid <Guid>]
   [-IconUri <Uri>]
   [-LicenseUri <Uri>]
   [-PassThru]
   [-ProjectUri <Uri>]
   [-ReleaseNotes <String[]>]
   [-RequiredModules <Object[]>]
   [-RequiredScripts <String[]>]
   [-Tags <String[]>]
   [-Version <Version>]
   [-WhatIf]
   [<CommonParameters>]

Description

The New-ScriptFileInfo cmdlet creates a PowerShell script file, including metadata about the script.

Examples

Example 1: Create a script file and specify its version, author, and description

PS C:\> New-ScriptFileInfo -Path "\temp\Temp-Scriptfile.ps1" -Version 1.0 -Author "pattif@contoso.com" -Description "My test script file description goes here"
PS C:\> Get-Content -Path "\temp\Temp-Scriptfile.ps1"
<#PSScriptInfo

.VERSION 1.0

.GUID eb246b19-17da-4392-8c89-7c280f69ad0e

.AUTHOR pattif@microsoft.com

.COMPANYNAME

.COPYRIGHT

.TAGS

.LICENSEURI

.PROJECTURI

.ICONURI

.EXTERNALMODULEDEPENDENCIES

.REQUIREDSCRIPTS

.EXTERNALSCRIPTDEPENDENCIES

.RELEASENOTES


#>

<#

.DESCRIPTION
 my test script file description goes here

#>
Param() PS C:\> Test-ScriptFileInfo -Path "\temp\Temp-Scriptfile.ps1"
Version    Name                      Author               Description
-------    ----                      ------               -----------
1.0        temp-scriptfile           pattif@contoso.com   my test script file description goes here

The first command creates the script file Temp-Scriptfile.ps1 and sets the Version, Author, and Description properties for it.

The second command uses the Get-Content cmdlet to get the contents of the script file and display them.

Example 2: Create a script file with all of the metadata properties

PS C:\> New-ScriptFileInfo -Path "C:\temp\temp_scripts\New-ScriptFile.ps1" -Verbose
>> -Version 1.0 -Author pattif -Description "my new script file test" -CompanyName "Contoso Corporation" `
>> -Copyright "© 2015 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' `
>> -Verbose -PassThru `
>> -ReleaseNotes @('contoso script now supports 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 `
>>
VERBOSE: Performing the operation "Creating the 'C:\temp\temp_scripts\New-ScriptFile.ps1' PowerShell Script file" on target "C:\temp\temp_scripts\New-ScriptFile.ps1".

<#PSScriptInfo

.VERSION 1.0

.GUID eb246b19-17da-4392-8c89-7c280f69ad0a

.AUTHOR pattif

.COMPANYNAME Microsoft Corporation

.COPYRIGHT © 2015 Microsoft 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 following features
Feature 1
Feature 2
Feature 3
Feature 4
Feature 5

#>

#Requires -Module Module1
#Requires -Module Module2
#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()

This command creates creates a script file New-ScriptFile.ps1 with all of its metadata properties. The Verbose parameter specifies that the command display verbose output.

Required Parameters

-Description

Specifies a description for the script.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Optional Parameters

-Author

Specifies the script author.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-CompanyName

Specifies the company or vendor who created the script.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Copyright

Specifies a copyright statement for the script.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ExternalModuleDependencies

Specifies an array of external module dependencies.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ExternalScriptDependencies

Specifies an array of external script dependencies.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Guid

Specifies a unique ID for the script.

Type:Guid
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IconUri

Specifies the URL of an icon for the script. The specified icon is displayed on the gallery web page for the script.

Type:Uri
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-LicenseUri

Specifies the URL of licensing terms.

Type:Uri
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Path

Specifies the path to the module manifest file to update. Wildcards are permitted. The default location is the current directory (.)

Type:String
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ProjectUri

Specifies the URL of a web page about this project.

Type:Uri
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ReleaseNotes

Specifies a string array that contains release notes or comments that you want to be available to users of this version of the script.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RequiredModules

Specifies modules that must be in the global session state. If the required modules are not in the global session state, Windows PowerShell imports them.

Type:Object[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RequiredScripts

Specifies an array of required scripts.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Tags

Specifies an array of tags.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Version

Specifies the version of the script.

Type:Version
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False