Creates a script file with metadata.
New-ScriptFileInfo [[-Path] [<String>]] [-Author [<String>]] [-CompanyName [<String>]] [-Copyright [<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>]]-Description* <String> [-Confirm] [-WhatIf] [<CommonParameters>]

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

-Author [<String>]

Specifies the script author.

-CompanyName [<String>]

Specifies the company or vendor who created the script.

-Copyright [<String>]

Specifies a copyright statement for the script.

-Description <String>

  • This value is required

Specifies a description for the script.

-ExternalModuleDependencies [<String[]>]

Specifies an array of external module dependencies.

-ExternalScriptDependencies [<String[]>]

Specifies an array of external script dependencies.

-Force [<SwitchParameter>]

Forces the command to run without asking for user confirmation.

-Guid [<Guid>]

Specifies a unique ID for the script.

-IconUri [<Uri>]

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

-LicenseUri [<Uri>]

Specifies the URL of licensing terms.

-PassThru [<SwitchParameter>]

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

-Path [<String>]

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

-ProjectUri [<Uri>]

Specifies the URL of a web page about this project.

-ReleaseNotes [<String[]>]

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

-RequiredModules [<Object[]>]

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.

-RequiredScripts [<String[]>]

Specifies an array of required scripts.

-Tags [<String[]>]

Specifies an array of tags.

-Version [<Version>]

Specifies the version of the script.

-Confirm [<SwitchParameter>]

  • Default value is false

Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.

-WhatIf [<SwitchParameter>]

  • Default value is false

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


This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

  1. Create a script file and specify its version, author, and description:
    PS C:> New-ScriptFileInfo -Path "tempTemp-Scriptfile.ps1" -Version 1.0 -Author "" -Description "My test script file description goes here"
    PS C:>  Get-Content -Path "tempTemp-Scriptfile.ps1"
       .VERSION 1.0
       .GUID eb246b19-17da-4392-8c89-7c280f69ad0e
        my test script file description goes here
       Param()PS C:>Test-ScriptFileInfo -Path "tempTemp-Scriptfile.ps1"
       Version    Name                      Author               Description
       -------    ----                      ------               -----------
       1.0        temp-scriptfile    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.

  2. Create a script file with all of the metadata properties:
    PS C:> New-ScriptFileInfo -Path "C:temptemp_scriptsNew-ScriptFile.ps1" -Verbose
    >> -Version 1.0 -Author pattif -Description "my new script file test" -CompanyName "Contoso Corporation" `
    >> -Copyright "c 2015 Contoso Corporation. All rights reserved." -ExternalModuleDependencies 'ff','bb' `
    >> -RequiredScripts 'Start-WFContosoServer', 'Stop-ContosoServerScript' `
    >> -ExternalScriptDependencies Stop-ContosoServerScript -Tags @('Tag1', 'Tag2', 'Tag3') `
    >> -ProjectUri -LicenseUri "" -IconUri '' `
    >> -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='Requi
    redModule3';RequiredVersion='2.0'},ExternalModule1 `
    VERBOSE: Performing the operation "Creating the 'C:temptemp_scriptsNew-ScriptFile.ps1' PowerShell Script file" on target "C:temptemp_scriptsNew-ScriptFile.ps1".
       .VERSION 1.0
       .GUID eb246b19-17da-4392-8c89-7c280f69ad0a
       .AUTHOR pattif
       .COMPANYNAME Microsoft Corporation
       .COPYRIGHT c 2015 Microsoft Corporation. All rights reserved. 
       .TAGS Tag1 Tag2 Tag3
       .REQUIREDSCRIPTS Start-WFContosoServer,Stop-ContosoServerScript
       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
        my new script file test

    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.

Related Links