Skip to content

Commit fad3a57

Browse files
sdwheelerCopilotmichaeltlombardi
authored
Update docs for PSResourceGet v1.2.0-preview5 (#304)
* Update docs for PSResourceGet v1.2.0-preview5 * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix build error * (MAINT) Trim trailing newlines in reference content * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Mikey Lombardi <mlombardi@microsoft.com>
1 parent a6bd061 commit fad3a57

26 files changed

Lines changed: 375 additions & 102 deletions
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
description: This article describes how PSResourceGet integrates with the Azure Artifacts Credential Provider with ADO feeds.
3+
ms.date: 12/10/2025
4+
ms.topic: reference
5+
title: Use the Azure Artifacts Credential Provider with Azure Artifacts feeds
6+
---
7+
8+
# Use the Azure Artifacts Credential Provider with Azure Artifacts feeds
9+
10+
PSResourceGet v1.2.0-preview5 adds support for using the Azure Artifacts Credential Provider with
11+
Azure Artifacts feeds.
12+
13+
The `Register-PSResourceRepository` and `Set-PSResourceRepository` cmdlets have a new dynamic
14+
parameter `-CredentialProvider` that allows you to configure the **CredentialProvider** property of
15+
a **PSResourceRepository**. This dynamic parameter only works with repositories that aren't
16+
**ContainerRegistry** repositories or the **PSGallery** repository.
17+
18+
PSResourceGet automatically sets the value **CredentialProvider** to `AzArtifacts` when the URI
19+
contains `pkgs.dev.azure.com` or `pkgs.visualstudio.com`. This check is done when registering a new
20+
repository or when PSResourceGet reads the registered repositories.
21+
22+
The Credential Provider can be bypassed by setting the `-CredentialProvider` parameter to `None`.
23+
24+
## How it works
25+
26+
PSResourceGet looks for the credential provider any time network credentials are set in the
27+
following priority order:
28+
29+
1. Credentials passed in via **Credential** parameter.
30+
1. Credentials retrieved via the Azure Artifacts Credential Provider.
31+
1. Credentials retrieved from SecretManagement.
32+
33+
If the **CredentialProvider** property of a repository is set to `AzArtifacts`, PSResourceGet
34+
attempts to find the Credential Provider file on the machine in the following order:
35+
36+
1. Checking the environment variable `NUGET_PLUGIN_PATHS`
37+
1. Checking the default locations: `$env:USERPROFILE\.nuget\plugins`
38+
1. Checking the location where Visual Studio is installed:
39+
`common7\IDE\CommonExtensions\Microsoft\NuGet`
40+
41+
For more information about the discovery process, see _Convention-based discovery_ section of
42+
[NuGet cross platform plugins][01].
43+
44+
After locating the Credential Provider, PSResourceGet uses one of the following commands to call the
45+
provider:
46+
47+
- `CredentialProvider.Microsoft.exe -Uri <uri> -NonInteractive -IsRetry -F Json`
48+
- `dotnet CredentialProvider.Microsoft.dll -Uri <uri> -NonInteractive -IsRetry -F Json`
49+
50+
`CredentialProvider.Microsoft.exe` is used on Windows machines, while `dotnet` works on all supported
51+
platforms.
52+
53+
## Dependencies
54+
55+
For this feature to work, the Azure Artifacts Credential Provider must be installed on the machine.
56+
The provider might already be available if you have Visual Studio or the .NET SDK installed. For
57+
more information about installing the Azure Artifacts Credential Provider, see the [README][02] file
58+
in the GitHub repository for the Azure Artifacts Credential Provider.
59+
60+
<!-- link references -->
61+
[01]: /nuget/reference/extensibility/nuget-cross-platform-plugins#convention-based-discovery
62+
[02]: https://github.com/microsoft/artifacts-credprovider/blob/master/README.md

powershell-gallery/docs-conceptual/powershellget/overview.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,14 @@ Supported versions:
3232
**PowerShellGet** or **PackageManagement** modules
3333
- **PowerShellGet** 2.2.5 with **PackageManagement** 1.4.8.1
3434
- Preview releases
35-
- **Microsoft.PowerShell.PSResourceGet** 1.1.0-rc2 - adds `Compress-PSResource` to create `.nupkg`
36-
files, the ability to publish `.nupkg` files, and support configuration Group Policy.
37-
- **PowerShellGet** 3.0.23-beta23 - a compatibility module that contains proxy cmdlets that call
38-
the new cmdlets in **Microsoft.PowerShell.PSResourceGet**. The proxy cmdlets allow you to
39-
continue to use the old cmdlet names in your scripts while you transition to the new cmdlets.
35+
- **Microsoft.PowerShell.PSResourceGet** 1.2.0-preview5 - adds many new features. For more
36+
information, see [What's new in PSResourceGet][06] in the GitHub repository.
4037

4138
## Version history
4239

4340
For best results, use the latest version of the **Microsoft.PowerShell.PSResourceGet** module.
4441

42+
- **Microsoft.PowerShell.PSResourceGet** v1.2.0-preview5 - shipped in **PowerShell 7.6-preview.6**
4543
- **Microsoft.PowerShell.PSResourceGet** v1.1.1 - shipped in **PowerShell 7.6-preview.4**
4644
- **Microsoft.PowerShell.PSResourceGet** v1.1.0 - shipped in **PowerShell 7.5.0**
4745
- **Microsoft.PowerShell.PSResourceGet** 1.0.6 - released to the PowerShell Gallery on 10-Oct-2024
@@ -60,7 +58,7 @@ For best results, use the latest version of the **Microsoft.PowerShell.PSResourc
6058
> [!IMPORTANT]
6159
> The 1.0.0.1 version of PowerShellGet has limited features and must be updated to work properly
6260
> with the PowerShell Gallery. To be supported, you must update to the latest version. For upgrade
63-
> instructions, see [Update PowerShellGet for Windows PowerShell 5.1][06].
61+
> instructions, see [Update PowerShellGet for Windows PowerShell 5.1][07].
6462
6563
## See also
6664

@@ -74,4 +72,5 @@ For best results, use the latest version of the **Microsoft.PowerShell.PSResourc
7472
[03]: /powershell/module/powershellget
7573
[04]: https://www.powershellgallery.com
7674
[05]: install-powershellget.md
77-
[06]: update-powershell-51.md
75+
[06]: psresourceget-release-notes.md
76+
[07]: update-powershell-51.md

powershell-gallery/docs-conceptual/powershellget/psresourceget-release-notes.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
description: This article contains release notes for the PSResourceGet module.
3-
ms.date: 03/21/2025
3+
ms.date: 12/10/2025
44
ms.topic: release-notes
5-
title: What's new in PSResourceGet?
5+
title: What's new in PSResourceGet
66
---
7-
# What's new in PSResourceGet?
7+
# What's new in PSResourceGet
88

99
This is a summary of changes to the **Microsoft.PowerShell.PSResourceGet** module. For a more
1010
complete list of changes, see the [CHANGELOG][01] in the GitHub repository.
@@ -13,6 +13,11 @@ complete list of changes, see the [CHANGELOG][01] in the GitHub repository.
1313

1414
## Release history
1515

16+
- v1.2.0-preview5 - Preview release - shipped in PowerShell 7.6.0-preview.6
17+
- v1.2.0-preview4 - Preview release - released to the PowerShell Gallery only
18+
- v1.2.0-preview3 - Preview release - released to the PowerShell Gallery only
19+
- v1.2.0-preview2 - Preview release - released to the PowerShell Gallery only
20+
- v1.2.0-preview1 - Preview release - released to the PowerShell Gallery only
1621
- v1.1.0 - Current release - released to the PowerShell Gallery
1722
- v1.1.0 - shipped in PowerShell 7.5.0 and PowerShell 7.6.0-preview.1
1823
- v1.1.0-rc3 - Preview release - released to the PowerShell Gallery only
@@ -31,6 +36,54 @@ complete list of changes, see the [CHANGELOG][01] in the GitHub repository.
3136

3237
## Release notes
3338

39+
### 1.2.0-preview5 - 2025-12-05
40+
41+
- Add `Reset-PSResourceRepository` cmdlet to recover from corrupted repository store
42+
- Improve performance of `ContainerRegistry` repositories by caching token
43+
- Fix to ensure `Update-PSResource` doesn't reinstall dependency packages that are already installed
44+
- Fix to retrieve non-anonymous access token when publishing to ACR
45+
- Fix to filter out path separators when passing in package names as a parameter for any cmdlet
46+
- Fix to respect `TrustRepository` parameter when using `-RequiredResource` with
47+
`Install-PSResource`
48+
- Fix bug with 'PSModuleInfo' property deserialization when validating module manifest
49+
- Fix to prevent users from setting ApiVersion to 'Unknown' in `Set-PSResourceRepository` and
50+
`Register-PSResourceRepository`
51+
52+
### 1.2.0-preview4 - 2025-11-04
53+
54+
- Add cmdlet aliases: `gres`, `usres`, and `svres`
55+
- Add warning when AuthenticodeCheck is used on non-Windows platforms
56+
- Fix typos in several files
57+
- Fix MAR fails to parse RequiredVersion for dependencies
58+
- Fix `Get-InstalledPSResource -Path` don't throw if no subdirectories were found
59+
- Fix to handle boolean correctly in RequiredResourceFile for prerelease key
60+
- Fix `Compress-PSResource` to stop ignoring `.gitkeep` and other (hidden) dotfiles
61+
- Fix broken Install-PSResource test with warning condition incorrect
62+
- Fix `Uninstall-PSResource` shouldn't fail silently when resource wasn't found or prerelease
63+
criteria not met
64+
- Fix `Uninstall-PSResource` should delete subdirectories without Access Denied error on OneDrive
65+
66+
### 1.2.0-preview3 - 2025-09-12
67+
68+
- Improve user agent string and PowerShell version discovery
69+
- Update `-ModulePrefix` to be a static parameter
70+
- Fix MCR catalog truncation
71+
- Fix population of `#Requires` fields in `Update-PSScriptFileInfo`
72+
- Fix population of `Includes` metadata for packages from container registry repositories
73+
- Fix for `Find-PSResource` and `Install-PSResource` to allow finding of unlisted packages
74+
75+
### 1.2.0-preview2 - 2025-07-21
76+
77+
- Add integration of the Azure Artifacts Credential Provider for ADO feeds
78+
- Fix for NuGet v3 dependencies
79+
- Fix for temporary installation path failure when installing PSResources on Linux machines
80+
81+
### 1.2.0-preview1 - 2025-06-26
82+
83+
- Add dependency support for PSResources in v3 repositories
84+
- Wildcard attribute added to `-Repository` parameter of `Install-PSResource`
85+
- Improvements in `ContainerRegistry` repositories in listing repository catalog
86+
3487
### v1.1.1 - 2025-03-06
3588

3689
- Retrieve all metadata properties when finding a **PSResource** from a **ContainerRegistry**
@@ -76,7 +129,7 @@ complete list of changes, see the [CHANGELOG][01] in the GitHub repository.
76129
repository system.
77130
- Added `-Nupkg` parameter to `Publish-PSResource` to publish a `.nupkg` file to a repository.
78131
- Added `-ModulePrefix` parameter for `Publish-PSResource`, which adds a prefix to a module name for
79-
container registry repositories. This is only used for publishing and is not part of metadata.
132+
container registry repositories. This is only used for publishing and isn't part of metadata.
80133
- Improved error messages for Authenticode failures.
81134
- Construct Prerelease string for repositories that don't return the prerelease information.
82135
- Added retry logic when deleting files.

powershell-gallery/docs-conceptual/powershellget/supported-repositories.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
description: This article lists the repositories that have been tested with PowerShellGet v3 and how to configure them.
3-
ms.date: 05/22/2025
3+
ms.date: 12/10/2025
44
ms.topic: reference
55
title: Supported repository configurations
66
---
@@ -103,6 +103,9 @@ credentials to search, download, or install packages from an Azure Artifacts pub
103103
artifacts or access private feeds, you must have an account and an API key. For more information
104104
about getting an API key, see [Connect to feed as a PowerShell repository][05].
105105

106+
PSResourceGet v1.2.0-preview5 adds support for the Azure Artifacts Credential Provider. For more
107+
information, see [Use the Azure Artifacts Credential Provider with Azure Artifacts feeds][12].
108+
106109
### Azure Artifacts limitations
107110

108111
The **Microsoft.PowerShell.PSResourceGet** module doesn't support the following scenarios for
@@ -216,7 +219,7 @@ support publishing packages.
216219

217220
GitHub Packages is a software package hosting service that allows you to host your software packages
218221
privately or publicly and use packages as dependencies in your projects. For more information, see
219-
[Introduction to GitHub Packages][13].
222+
[Introduction to GitHub Packages][14].
220223

221224
The GitHub Packages feed is a NuGet repository that uses the NuGet v3 protocol. The feed URI has the
222225
following format: `https://nuget.pkg.github.com/<namespace>/index.json`. Replace `<namespace>` with
@@ -235,7 +238,7 @@ The Github Packages service doesn't support NuGet feeds that are scoped to a rep
235238
must be associated with a user account or organization.
236239

237240
You must use credentials for all operations with a GitHub Packages feed. For more information, see
238-
the _Authenticating to GitHub Packages_ section of [Working with the NuGet registry][14].
241+
the _Authenticating to GitHub Packages_ section of [Working with the NuGet registry][15].
239242

240243
### GitHub Packages limitations
241244

@@ -260,7 +263,7 @@ GitHub Packages repositories:
260263
You can use either the **Credential** or **ApiKey** parameter of the `Publish-PSResource` cmdlet to
261264
publish packages to a GitHub Package feed. You must create a personal access token (PAT) with the
262265
necessary scopes enabled. For more information on scopes and permissions, see
263-
[About permissions for GitHub Packages][12].
266+
[About permissions for GitHub Packages][13].
264267

265268
If you use the **Credential** parameter, the value must be a **PSCredential** object that contains
266269
your username and the PAT. For this example `<personal-access-token>` is the token you created for
@@ -295,7 +298,7 @@ Publish-PSResource @publishPSResourceSplat
295298
296299
## JFrog Artifactory
297300

298-
[JFrog Artifactory][16] is a hosting service for NuGet repositories. Artifactory feeds use the NuGet
301+
[JFrog Artifactory][17] is a hosting service for NuGet repositories. Artifactory feeds use the NuGet
299302
v3 protocol. The feed URI has the following format:
300303

301304
`https://<jfrog-account>.jfrog.io/artifactory/api/nuget/v3/nuget/index.json`.
@@ -312,7 +315,7 @@ Register-PSResourceRepository @params
312315
```
313316

314317
You must use credentials for all operations with a JFrog Artifactory feed. For more information, see
315-
[Creating Access Tokens in Artifactory][17].
318+
[Creating Access Tokens in Artifactory][18].
316319

317320
### JFrog Artifactory limitations
318321

@@ -355,7 +358,7 @@ is your email address associated with your JFrog account.
355358
356359
## MyGet.org
357360

358-
[MyGet.org][18] is a hosting service for NuGet repositories.
361+
[MyGet.org][19] is a hosting service for NuGet repositories.
359362

360363
The **Microsoft.PowerShell.PSResourceGet** module supports MyGet feeds that use the NuGet v3
361364
protocol. The feed URI has the following format:
@@ -375,7 +378,7 @@ Register-PSResourceRepository @params
375378

376379
MyGet allows you to create public or private feeds. You don't need credentials to search, download,
377380
or install packages from a public MyGet feed. To publish artifacts or access private feeds, you must
378-
have an account and an API key. For more information about, see [MyGet Security][15].
381+
have an account and an API key. For more information about, see [MyGet Security][16].
379382

380383
### MyGet limitations
381384

@@ -397,7 +400,7 @@ repositories:
397400
You must use the **ApiKey** parameter of the `Publish-PSResource` cmdlet with personal access token
398401
(PAT) to publish packages to a MyGet feed. The value of the **ApiKey** parameter must be a plaintext
399402
PAT from your MyGet account that has read and write permissions. For more information about creating
400-
access tokens, see [MyGet Security][15].
403+
access tokens, see [MyGet Security][16].
401404

402405
For example:
403406

@@ -504,10 +507,11 @@ Publish-PSResource @publishPSResourceSplat
504507
[09]: /powershell/utility-modules/secretmanagement/overview
505508
[10]: /windows-server/storage/file-server/smb-security
506509
[11]: how-to/use-acr-repository.md
507-
[12]: https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#about-scopes-and-permissions-for-package-registries
508-
[13]: https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages
509-
[14]: https://docs.github.com/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry#authenticating-to-github-packages
510-
[15]: https://docs.myget.org/docs/reference/security
511-
[16]: https://jfrog.com/artifactory/
512-
[17]: https://jfrog.com/help/r/how-to-generate-an-access-token-video/artifactory-creating-access-tokens-in-artifactory
513-
[18]: https://www.myget.org/
510+
[12]: how-to/use-credential-provider-with-azure-artifacts.md
511+
[13]: https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#about-scopes-and-permissions-for-package-registries
512+
[14]: https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages
513+
[15]: https://docs.github.com/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry#authenticating-to-github-packages
514+
[16]: https://docs.myget.org/docs/reference/security
515+
[17]: https://jfrog.com/artifactory/
516+
[18]: https://jfrog.com/help/r/how-to-generate-an-access-token-video/artifactory-creating-access-tokens-in-artifactory
517+
[19]: https://www.myget.org/

powershell-gallery/docs-conceptual/powershellget/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ items:
1313
href: how-to/credential-persistence.md
1414
- name: Use ACR repositories with PSResourceGet
1515
href: how-to/use-acr-repository.md
16+
- name: Use the Azure Artifacts Credential Provider with Azure Artifacts feeds
17+
href: how-to/use-credential-provider-with-azure-artifacts.md
1618
- name: PSResourceGet supported repositories
1719
href: supported-repositories.md
1820
- name: PSResourceGet release notes

powershell-gallery/powershellget-3.x/Microsoft.PowerShell.PSResourceGet/About/about_PSResourceGet.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ title: about PSResourceGet
1111

1212
## Short description
1313

14-
Describes how to use version 1.1.1 of the
14+
Describes how to use version 1.2.0-preview5 of the
1515
**Microsoft.PowerShell.PSResourceGet** module.
1616

1717
## Long description
@@ -57,6 +57,7 @@ v3 and their v2 equivalents.
5757
| `Publish-PSResource` | `Publish-Module` |
5858
| `Publish-PSResource` | `Publish-Script` |
5959
| `Register-PSResourceRepository` | `Register-PSRepository` |
60+
| `Reset-PSResourceRepository` | n/a |
6061
| `Save-PSResource` | `Save-Module` |
6162
| `Save-PSResource` | `Save-Script` |
6263
| `Set-PSResourceRepository` | `Set-PSRepository` |

powershell-gallery/powershellget-3.x/Microsoft.PowerShell.PSResourceGet/Compress-PSResource.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
22
external help file: Microsoft.PowerShell.PSResourceGet.dll-Help.xml
33
Module Name: Microsoft.PowerShell.PSResourceGet
4-
ms.custom: 1.1.1
5-
ms.date: 10/31/2024
4+
ms.custom: 1.2.0-p5
5+
ms.date: 12/10/2025
66
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.psresourceget/compress-psresource?view=powershellget-3.x&WT.mc_id=ps-gethelp
77
schema: 2.0.0
88
---
9-
109
# Compress-PSResource
1110

1211
## SYNOPSIS
@@ -27,7 +26,7 @@ file. isolates the pack feature in the `Publish-PSResource` cmdlet. This allows
2726
`.nupkg` file before publishing it to a repository. You can publish the final `.nupkg` file using
2827
the **NupkgPath** parameter of `Publish-PSResource`.
2928

30-
This command was added in v1.1.0-preview2 of **Microsoft.PowerShell.PSResourceGet**.
29+
This command was added in v1.1.0 of **Microsoft.PowerShell.PSResourceGet**.
3130

3231
## EXAMPLES
3332

powershell-gallery/powershellget-3.x/Microsoft.PowerShell.PSResourceGet/Find-PSResource.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
22
external help file: Microsoft.PowerShell.PSResourceGet.dll-Help.xml
33
Module Name: Microsoft.PowerShell.PSResourceGet
4-
ms.custom: 1.1.1
5-
ms.date: 10/31/2024
4+
ms.custom: 1.2.0-p5
5+
ms.date: 12/10/2025
66
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.psresourceget/find-psresource?view=powershellget-3.x&WT.mc_id=ps-gethelp
77
schema: 2.0.0
88
---
9-
109
# Find-PSResource
1110

1211
## SYNOPSIS

powershell-gallery/powershellget-3.x/Microsoft.PowerShell.PSResourceGet/Get-InstalledPSResource.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
22
external help file: Microsoft.PowerShell.PSResourceGet.dll-Help.xml
33
Module Name: Microsoft.PowerShell.PSResourceGet
4-
ms.custom: 1.1.1
5-
ms.date: 10/31/2024
4+
ms.custom: 1.2.0-p5
5+
ms.date: 12/10/2025
66
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.psresourceget/get-installedpsresource?view=powershellget-3.x&WT.mc_id=ps-gethelp
77
schema: 2.0.0
88
---
9-
109
# Get-InstalledPSResource
1110

1211
## SYNOPSIS
@@ -224,6 +223,9 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
224223

225224
## NOTES
226225

227-
The module defines `Get-PSResource` as an alias for `Get-InstalledPSResource`.
226+
The module defines the following aliases for `Get-InstalledPSResource`:
227+
228+
- `Get-PSResource`
229+
- `gres`
228230

229231
## RELATED LINKS

0 commit comments

Comments
 (0)