Skip to content

Latest commit

 

History

History
390 lines (292 loc) · 10.4 KB

File metadata and controls

390 lines (292 loc) · 10.4 KB
external help file Microsoft.PowerShell.PSResourceGet.dll-Help.xml
Module Name Microsoft.PowerShell.PSResourceGet
ms.custom 1.2.0-p5
ms.date 03/18/2026
online version https://learn.microsoft.com/powershell/module/microsoft.powershell.psresourceget/set-psresourcerepository?view=powershellget-3.x&WT.mc_id=ps-gethelp
schema 2.0.0

Set-PSResourceRepository

SYNOPSIS

Sets information for a registered repository.

SYNTAX

NameParameterSet (Default)

Set-PSResourceRepository [-Name] <String> [-Uri <String>] [-Trusted] [-Priority <Int32>]
 [-ApiVersion <APIVersion>] [-CredentialInfo <PSCredentialInfo>] [-PassThru]
 [-CredentialProvider <CredentialProvider>] [-WhatIf] [-Confirm] [<CommonParameters>]

RepositoriesParameterSet

Set-PSResourceRepository -Repository <Hashtable[]> [-PassThru] [-WhatIf] [-Confirm]
 [<CommonParameters>]

DESCRIPTION

The Set-PSResourceRepository cmdlet sets information for a registered repository.

EXAMPLES

Example 1

In this example, the Uri for the PoshTestGallery repository has been registered. The Set-PSResourceRepository cmdlet is used to change the Uri to a local path. The PassThru parameter allows you to see the changed repository.

Get-PSResourceRepository -Name "PoshTestGallery"
Name             Uri                                          Trusted   Priority
----             ---                                          -------   --------
PoshTestGallery  https://www.poshtestgallery.com/api/v2         False         50
Set-PSResourceRepository -Name "PoshTestGallery" -Uri "c:/code/testdir" -PassThru
Name             Uri                                          Trusted   Priority
----             ---                                          -------   --------
PoshTestGallery  file:///c:/code/testdir                        False         50

Example 2

This example changes the Priority and Trusted values of the repository.

Note

The Uri value of the default PSGallery repository can't be changed.

Get-PSResourceRepository -Name "PSGallery"
Name             Uri                                          Trusted   Priority
----             ---                                          -------   --------
PSGallery        https://www.powershellgallery.com/api/v2       False         50
Set-PSResourceRepository -Name "PSGallery" -Priority 25 -Trusted -PassThru
Name             Uri                                          Trusted   Priority
----             ---                                          -------   --------
PSGallery        https://www.powershellgallery.com/api/v2        True         25

Example 3

This example uses the Repository parameter to change values for multiple repositories. The parameter takes an array of hashtables. Each hashtable contains information the repository being updated.

Get-PSResourceRepository
Name             Uri                                          Trusted   Priority
----             ---                                          -------   --------
PSGallery        https://www.powershellgallery.com/api/v2       False         50
PoshTestGallery  https://www.poshtestgallery.com/api/v2         False         50
$arrayOfHashtables = @{Name = "PSGallery"; Trusted = $True},
                     @{Name = "PoshTestGallery"; Uri = "c:/code/testdir"}
Set-PSResourceRepository -Repository $arrayOfHashtables -PassThru
Name             Uri                                          Trusted   Priority
----             ---                                          -------   --------
PSGallery        https://www.powershellgallery.com/api/v2        True         50
PoshTestGallery  file:///c:/code/testdir                        False         50

Example 4

This example updates a repository with credential information to be retrieved from a registered Microsoft.PowerShell.SecretManagement vault. You must have the Microsoft.PowerShell.SecretManagement module install and have a registered vault containing the stored secret. The format of the secret must match the requirements of the repository.

$parameters = @{
  Name = "PoshTestGallery"
  Uri = "c:/code/testdir"
  CredentialInfo = [Microsoft.PowerShell.PowerShellGet.UtilClasses.PSCredentialInfo]::new(
    'SecretStore', 'TestSecret')
}
Set-PSResourceRepository @parameters -PassThru |
    Select-Object * -ExpandProperty CredentialInfo
Name           : PoshTestGallery
Uri            : file:///c:/code/testdir
Trusted        : False
Priority       : 50
CredentialInfo : Microsoft.PowerShell.PowerShellGet.UtilClasses.PSCredentialInfo
VaultName      : SecretStore
SecretName     : TestSecret
Credential     :

PARAMETERS

-ApiVersion

Specifies the API version used by the repository. Valid values are:

  • v2 - uses the NuGet V2 API
  • v3 - uses the NuGet V3 API
  • ContainerRegistry - used for Azure Container Registry
  • local - use this for file system based repositories
  • nugetServer - use this for NuGet.Server based repositories

The Register-PSResourceRepository cmdlet should automatically detect the API version. This parameter allows you to change the API version after you have registered a repository.

Type: Microsoft.PowerShell.PSResourceGet.UtilClasses.PSRepositoryInfo+APIVersion
Parameter Sets: NameParameterSet
Aliases:
Accepted values: V2, V3, Local, NugetServer, ContainerRegistry

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

-CredentialInfo

A PSCredentialInfo object that includes the name of a vault and a secret that's stored in a Microsoft.PowerShell.SecretManagement store.

Type: Microsoft.PowerShell.PSResourceGet.UtilClasses.PSCredentialInfo
Parameter Sets: NameParameterSet
Aliases:

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

-CredentialProvider

This is a dynamic parameter that specifies the credential provider to use for the repository. This parameter is only available when the named repository is an Azure Artifacts feed. Valid values are:

  • None - No credential provider defined
  • AzArtifacts - Use the Azure Artifacts Credential Provider
Type: Microsoft.PowerShell.PSResourceGet.UtilClasses.CredentialProviderType
Parameter Sets: NameParameterSet
Accepted values: None, AzArtifacts
Aliases:

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

-Name

Specifies the name of the repository to be modified.

Note

The Uri value of the default PSGallery repository can't be changed.

Type: System.String
Parameter Sets: NameParameterSet
Aliases:

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False

-PassThru

When specified, displays the successfully registered repository and its information.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:

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

-Priority

Specifies the priority ranking of the repository. Valid priority values range from 0 to 100. Lower values have a higher priority ranking. The default value is 50.

Repositories are sorted by priority then by name. When searching for resources across multiple repositories, the PSResourceGet cmdlets search the repositories using this sort order and return the first match found.

Type: System.Int32
Parameter Sets: NameParameterSet
Aliases:

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

-Repository

Specifies an array of hashtables that contain repository information. Use this parameter to register multiple repositories at once. Each hashtable can only have keys associated with parameters for the NameParameterSet.

Type: System.Collections.Hashtable[]
Parameter Sets: RepositoriesParameterSet
Aliases:

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

-Trusted

Specifies whether the repository should be trusted.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: NameParameterSet
Aliases:

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

-Uri

Specifies the location of the repository to be registered. The value must use one of the following URI schemas:

  • https://
  • http://
  • ftp://
  • file://
Type: System.String
Parameter Sets: NameParameterSet
Aliases:

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

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf

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

-WhatIf

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

Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi

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

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.String

OUTPUTS

Microsoft.PowerShell.PSResourceGet.UtilClasses.PSRepositoryInfo

By default, the cmdlet produces no output. When you use the PassThru parameter, the cmdlet returns a PSRepositoryInfo object.

NOTES

RELATED LINKS

Microsoft.PowerShell.SecretManagement

Get-PSResourceRepository

Reset-PSResourceRepository

Register-PSResourceRepository

Unregister-PSResourceRepository