Install-PSResource

Installs resources from a registered repository.

Syntax

Install-PSResource
       [-Name] <String[]>
       [-Version <String>]
       [-Prerelease]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <ScopeType>]
       [-TemporaryPath <String>]
       [-TrustRepository]
       [-Reinstall]
       [-Quiet]
       [-AcceptLicense]
       [-NoClobber]
       [-SkipDependencyCheck]
       [-AuthenticodeCheck]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-PSResource
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <ScopeType>]
       [-TemporaryPath <String>]
       [-TrustRepository]
       [-Reinstall]
       [-Quiet]
       [-AcceptLicense]
       [-NoClobber]
       [-SkipDependencyCheck]
       [-AuthenticodeCheck]
       [-PassThru]
       [-InputObject] <PSResourceInfo[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-PSResource
       [-Credential <PSCredential>]
       [-Scope <ScopeType>]
       [-TemporaryPath <String>]
       [-TrustRepository]
       [-Reinstall]
       [-Quiet]
       [-AcceptLicense]
       [-NoClobber]
       [-SkipDependencyCheck]
       [-AuthenticodeCheck]
       [-PassThru]
       -RequiredResourceFile <String>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-PSResource
       [-Credential <PSCredential>]
       [-Scope <ScopeType>]
       [-TemporaryPath <String>]
       [-TrustRepository]
       [-Reinstall]
       [-Quiet]
       [-AcceptLicense]
       [-NoClobber]
       [-SkipDependencyCheck]
       [-AuthenticodeCheck]
       [-PassThru]
       -RequiredResource <Object>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

This cmdlet installs resources from a registered repository to an installation path on a machine. By default, the cmdlet doesn't return any object. Other parameters allow you to specify the repository, scope, and version for a resource, and suppress license prompts.

This cmdlet combines the functions of the Install-Module and Install-Script cmdlets from PowerShellGet v2.

Examples

Example 1

Installs the latest stable (non-prerelease) version of the Az module.

Install-PSResource Az

Example 2

Installs the latest stable Az module within the between versions 7.3.0 and 8.3.0.

Install-PSResource Az -Version '[7.3.0, 8.3.0]'

Example 3

Installs the latest stable version of the Az module. When the Reinstall parameter is used, the cmdlet writes over any previously installed version.

Install-PSResource Az -Reinstall

Example 4

Installs the PSResources specified in the psd1 file.

Install-PSResource -RequiredResourceFile myRequiredModules.psd1

Example 5

Installs the PSResources specified in the hashtable.

Install-PSResource -RequiredResource  @{
    TestModule = @{
        version = '[0.0.1,1.3.0]'
        repository = 'PSGallery'
      }
    TestModulePrerelease = @{
        version = '[0.0.0,0.0.5]'
        repository = 'PSGallery'
        prerelease = 'true'
    }
    TestModule99 = @{}
}

Parameters

-AcceptLicense

Specifies that the resource should accept any request to accept the license agreement. This suppresses prompting if the module mandates that a user accept the license agreement.

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

-AuthenticodeCheck

Validates Authenticode signatures and catalog files on Windows.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Optional credentials used when accessing a repository.

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

-InputObject

Used for pipeline input.

Type:Microsoft.PowerShell.PSResourceGet.UtilClasses.PSResourceInfo[]
Aliases:ParentResource
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

The name of one or more resources to install.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoClobber

Prevents installing a package that contains cmdlets that already exist on the machine.

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

-PassThru

When specified, outputs a PSResourceInfo object for the saved resource.

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

-Prerelease

When specified, includes prerelease versions in search results returned.

Type:SwitchParameter
Aliases:IsPrerelease
Position:Named
Default value:False
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Quiet

Suppresses installation progress bar.

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

-Reinstall

Installs the latest version of a module even if the latest version is already installed. The installed version is overwritten. This allows you to repair a damaged installation of the module.

If an older version of the module is installed, the new version is installed side-by-side in a new version-specific folder.

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

-Repository

Specifies one or more repository names to search. If not specified, search includes all registered repositories, in priority order (highest first), until a repository is found that contains the package. Repositories are sorted by priority then by name. Lower Priority values have a higher precedence.

When searching for resources across multiple repositories, the PSResourceGet cmdlets search the repositories using this sort order. Install-PSResource installs the first matching package from the sorted list of repositories.

The parameter supports the * wildcard character. If you specify multiple repositories, all names must include or omit the wildcard character. You can't specify a mix of names with and without wildcards.

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

-RequiredResource

A hashtable or JSON string that specifies resources to install. Wildcard characters aren't allowed. See the NOTES section for a description of the file formats.

Type:Object
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RequiredResourceFile

Path to a .psd1 or .json that specifies resources to install. Wildcard characters aren't allowed. See the NOTES section for a description of the file formats.

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

-Scope

Specifies the installation scope. Accepted values are:

  • CurrentUser
  • AllUsers

The default scope is CurrentUser, which doesn't require elevation for install.

The AllUsers scope installs modules in a location accessible to all users of the computer. For example:

  • $env:ProgramFiles\PowerShell\Modules

The CurrentUser installs modules in a location accessible only to the current user of the computer. For example:

  • $home\Documents\PowerShell\Modules
Type:Microsoft.PowerShell.PSResourceGet.UtilClasses.ScopeType
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDependencyCheck

Skips the check for resource dependencies. Only found resources are installed. No resources of the found resource are installed.

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

-TemporaryPath

Specifies the path to temporarily install the resource before actual installation. If no temporary path is provided, the resource is temporarily installed in the current user's temporary folder.

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

-TrustRepository

Suppress prompts to trust repository. The prompt to trust repository only occurs if the repository isn't configured as trusted.

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

-Version

Specifies the version of the resource to be returned. The value can be an exact version or a version range using the NuGet versioning syntax.

For more information about NuGet version ranges, see Package versioning.

PowerShellGet supports all but the minimum inclusive version listed in the NuGet version range documentation. Using 1.0.0.0 as the version doesn't yield versions 1.0.0.0 and higher (minimum inclusive range). Instead, the value is considered to be the required version. To search for a minimum inclusive range, use [1.0.0.0, ] as the version range.

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet isn't run.

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

Inputs

String[]

String

SwitchParameter

Microsoft.PowerShell.PSResourceGet.UtilClasses.PSResourceInfo[]

Outputs

Microsoft.PowerShell.PSResourceGet.UtilClasses.PSResourceInfo

By default, the cmdlet doesn't return any objects. When the PassThru parameter is used, the cmdlet outputs a PSResourceInfo object for the saved resource.

Notes

The module defines isres as an alias for Install-PSResource.

The RequiredResource and RequiredResourceFile parameters are used to find PSResource objects matching specific criteria. You can specify the search criteria using a hashtable or a JSON object. For the RequiredResourceFile parameter, the hashtable is stored in a .psd1 file and the JSON object is stored in a .json file. For more information, see about_PSResourceGet.