Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 1 addition & 15 deletions powershell-gallery/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
{ "dest": "gallery", "files": [ "breadcrumb/toc.yml" ] },
{ "dest": "gallery", "files": [ "**/*.md", "**/*.yml" ], "group": "conceptual", "src": "docs-conceptual" },

{ "dest": "module/powershellget", "files": [ "toc.yml" ], "group": "powershellget-1.x", "src": "powershellget-1.x" },
{ "dest": "module", "exclude": [ "docs-conceptual/**" ], "files": [ "**/*.yml", "**/About/*.md" ], "group": "powershellget-1.x", "src": "powershellget-1.x" },

{ "dest": "module/powershellget", "files": [ "toc.yml" ], "group": "powershellget-2.x", "src": "powershellget-2.x" },
{ "dest": "module", "exclude": [ "docs-conceptual/**" ], "files": [ "**/*.yml", "**/About/*.md" ], "group": "powershellget-2.x", "src": "powershellget-2.x" },

Expand All @@ -31,7 +28,6 @@
"docs-conceptual/concepts/**/*": "https://github.com/powershell/powershellgallery/issues/new",
"docs-conceptual/how-to/**/*": "https://github.com/powershell/powershellgallery/issues/new",
"docs-conceptual/powershellget/**/*": "https://github.com/powershell/psresourceget/issues/new",
"powershellget-1.x/**/*": "https://github.com/powershell/powershellget/issues/new",
"powershellget-2.x/**/*": "https://github.com/powershell/powershellget/issues/new",
"powershellget-3.x/**/*": "https://github.com/powershell/psresourceget/issues/new"
},
Expand All @@ -40,13 +36,10 @@
"docs-conceptual/concepts/**/*": "PowerShell Gallery",
"docs-conceptual/how-to/**/*": "PowerShell Gallery",
"docs-conceptual/powershellget/**/*": "PowerShellGet",
"powershellget-1.x/**/*": "PowerShellGet",
"powershellget-2.x/**/*": "PowerShellGet",
"powershellget-3.x/**/*": "PSResourceGet"
},
"ms.subservice": {
"powershellget-1.x/**/*.md": "conceptual",
"powershellget-1.x/**/*.yml": "cmdlets",
"powershellget-2.x/**/*.md": "conceptual",
"powershellget-2.x/**/*.yml": "cmdlets",
"powershellget-3.x/**/*.md": "conceptual",
Expand All @@ -55,12 +48,10 @@
"ms.topic": {
"docs-conceptual/**/*": "concept-article",
"docs-conceptual/**/how-to/**": "how-to",
"powershellget-1.x/**/*": "reference",
"powershellget-2.x/**/*": "reference",
"powershellget-3.x/**/*": "reference"
},
"ms.update-cycle": {
"powershellget-1.x/**/*": "3650-days",
"powershellget-2.x/**/*": "3650-days",
"docs-conceptual/faqs.yml": "3650-days",
"docs-conceptual/concepts/**/*": "3650-days",
Expand All @@ -71,10 +62,6 @@
"https://authoring-docs-microsoft.poolparty.biz/devrel/2bdae855-045f-4535-b365-7b2e23824328",
"https://authoring-docs-microsoft.poolparty.biz/devrel/8bce367e-2e90-4b56-9ed5-5e4e9f3a2dc3"
],
"powershellget-1.x/**/*": [
"https://authoring-docs-microsoft.poolparty.biz/devrel/56936876-97d9-45cc-ad1b-9d63320447c8",
"https://authoring-docs-microsoft.poolparty.biz/devrel/8bce367e-2e90-4b56-9ed5-5e4e9f3a2dc3"
],
"powershellget-2.x/**/*": [
"https://authoring-docs-microsoft.poolparty.biz/devrel/56936876-97d9-45cc-ad1b-9d63320447c8",
"https://authoring-docs-microsoft.poolparty.biz/devrel/8bce367e-2e90-4b56-9ed5-5e4e9f3a2dc3"
Expand Down Expand Up @@ -111,8 +98,7 @@
"uhfHeaderId": "MSDocsHeader-Powershell"
},
"groups": {
"conceptual": { "moniker_range": ">=powershellget-1.x" },
"powershellget-1.x": { "moniker_range": "powershellget-1.x" },
"conceptual": { "moniker_range": ">=powershellget-2.x" },
"powershellget-2.x": { "moniker_range": "powershellget-2.x" },
"powershellget-3.x": { "moniker_range": "powershellget-3.x" }
},
Expand Down
2 changes: 1 addition & 1 deletion powershell-gallery/docs-conceptual/faqs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### YamlMime:FAQ
metadata:
ms.date: 06/12/2017
ms.date: 01/28/2026
title: PowerShell Gallery FAQs
description: Frequently asked questions about the PowerShell Gallery
ms.topic: faq
Expand Down
80 changes: 37 additions & 43 deletions powershell-gallery/docs-conceptual/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
---
description: This article explains how to get started using the PowerShell Gallery and the PowerShellGet cmdlets
ms.date: 09/09/2025
ms.date: 01/28/2026
ms.topic: get-started
title: Get Started with the PowerShell Gallery
---
# Getting Started with the PowerShell Gallery

The PowerShell Gallery is a package repository containing scripts, modules, and DSC resources you
can download and leverage. You use the cmdlets in the [PowerShellGet][03] module to install packages
can download and use. You use the cmdlets in the [PowerShellGet][03] module to install packages
from the PowerShell Gallery. You don't need to sign in to download items from the PowerShell
Gallery.

> [!NOTE]
> It's possible to download a package from the PowerShell Gallery directly, but this isn't a
> recommended approach. For more details, see [Manual Package Download][18].

## Discovering packages from the PowerShell Gallery

You can find packages in the PowerShell Gallery using the **Search** control on the PowerShell
Expand Down Expand Up @@ -43,13 +39,13 @@ Because DSC resources are always delivered as part of a module, you still need t

## Learning about packages in the PowerShell Gallery

Once you've identified a package that you're interested in, you may want to learn more about it. You
can do this by examining that package's specific page on the Gallery. On that page, you'll be able
to see all the metadata uploaded with the package. This metadata is provided by the package's
author, and is not verified by Microsoft. The Owner of the package is strongly tied to the Gallery
account used to publish the package, and is more trustworthy than the Author field.
After you select a package, you may want to learn more about it. Examine the package page on the
Gallery. The package page includes the metadata uploaded with the package. The metadata is provided
by the author of the package. Microsoft doesn't verify this information. The Owner of the package is
associated with the Gallery account used to publish the package. The Owner account is more
authoritative than the Author field.

If you discover a package that you feel isn't published in good faith, click **Report Abuse** on
If you discover a package that you feel isn't published in good faith, select **Report Abuse** on
that package's page.

If you're running `Find-Module` or `Find-Script`, you can view this data in the returned
Expand All @@ -66,63 +62,62 @@ We encourage the following process when downloading packages from the PowerShell

### Inspect

To download a package from the Gallery for inspection, run either the `Save-Module` or `Save-Script`
cmdlet, depending on the package type. This lets you save the package locally without installing it,
and inspect the package contents. Remember to delete the saved package manually.
To download a package from the Gallery for inspection, use the `Save-Module` or `Save-Script`
cmdlets on the package. These commands save the package locally without installing it. Inspect the
package contents. Remember to delete the saved package manually.

Some of these packages are authored by Microsoft, and others are authored by the PowerShell
community. Microsoft recommends that you review the contents and code of packages on this gallery
before installation.
Some packages are authored by Microsoft, and others are authored by the PowerShell community.
Microsoft recommends that you review the contents and code of packages on this gallery before
installation.

If you discover a package that you feel isn't published in good faith, click **Report Abuse** on
If you discover a package that you feel isn't published in good faith, select **Report Abuse** on
that package's page.

### Install

To install a package from the Gallery for use, run either the `Install-Module` or `Install-Script`
cmdlet, depending on the package type.

`Install-Module` installs the module to `$env:ProgramFiles\WindowsPowerShell\Modules` by default.
This requires an administrator account. If you add the `-Scope CurrentUser` parameter, the module is
installed to `$HOME\Documents\WindowsPowerShell\Modules` .
By default, `Install-Module` installs the module to `$env:ProgramFiles\WindowsPowerShell\Modules`
location by default, which requires an administrator account. If you add the `-Scope CurrentUser`
Comment on lines +81 to +82
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redundant phrase 'by default' appears twice in the same sentence. The phrase 'location by default' should be simplified to just 'location' since 'By default' already appears at the beginning of the sentence.

Suggested change
By default, `Install-Module` installs the module to `$env:ProgramFiles\WindowsPowerShell\Modules`
location by default, which requires an administrator account. If you add the `-Scope CurrentUser`
By default, `Install-Module` installs the module to the `$env:ProgramFiles\WindowsPowerShell\Modules`
location, which requires an administrator account. If you add the `-Scope CurrentUser`

Copilot uses AI. Check for mistakes.
parameter, the command installs the module in `$HOME\Documents\WindowsPowerShell\Modules` .

`Install-Script` installs the script to `$env:ProgramFiles\WindowsPowerShell\Scripts` by default.
This requires an administrator account. If you add the `-Scope CurrentUser` parameter, the script is
installed to `$HOME\Documents\WindowsPowerShell\Scripts` .
By default, `Install-Script` installs the script to `$env:ProgramFiles\WindowsPowerShell\Scripts`
location, which requires an administrator account. If you add the `-Scope CurrentUser` parameter,
the command installs the script in `$HOME\Documents\WindowsPowerShell\Scripts`.

By default, `Install-Module` and `Install-Script` installs the most
current version of a package. To install an older version of the package, add the `-RequiredVersion`
parameter.
`Install-Module` and `Install-Script` installs the most current version of a package. To install an
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The verb form 'installs' is grammatically incorrect here. Since the subjects are plural ('Install-Module and Install-Script'), the verb should be 'install' instead of 'installs'.

Suggested change
`Install-Module` and `Install-Script` installs the most current version of a package. To install an
`Install-Module` and `Install-Script` install the most current version of a package. To install an

Copilot uses AI. Check for mistakes.
older version of the package, add the `-RequiredVersion` parameter.

### Deploy

To deploy a package from the PowerShell Gallery to Azure Automation, click **Azure Automation**,
then click **Deploy to Azure Automation** on the package details page. You are redirected to the
Azure Management Portal where you sign in using your Azure account credentials. Note that
deploying packages with dependencies deploys all the dependencies to Azure Automation. The 'Deploy
to Azure Automation' button can be disabled by adding the **AzureAutomationNotSupported** tag to
your package metadata.
To deploy a package from the PowerShell Gallery to Azure Automation, select **Azure Automation**,
then select **Deploy to Azure Automation** on the package details page. You're redirected to the
Azure Management Portal where you sign in using your Azure account credentials. Deploying packages
with dependencies deploys all the dependencies to Azure Automation. The **Deploy to Azure
Automation** button can be disabled by adding the **AzureAutomationNotSupported** tag to your
package metadata.

To learn more about Azure Automation, see the [Azure Automation][02] documentation.

## Updating packages from the PowerShell Gallery

To update packages installed from the PowerShell Gallery, run either the `Update-Module` or
`Update-Script` cmdlet. When run without any additional parameters, `Update-Module` attempts to
`Update-Script` cmdlet. When run without any other parameters, `Update-Module` attempts to
update all modules installed by running `Install-Module`. To selectively update modules, add the
`-Name` parameter.

Similarly, when run without any additional parameters, `Update-Script` also attempts to update all
Similarly, when run without any other parameters, `Update-Script` also attempts to update all
scripts installed by running `Install-Script`. To selectively update scripts, add the `-Name`
parameter.

## List packages that you have installed from the PowerShell Gallery
## List packages that you installed from the PowerShell Gallery

To find out which modules you have installed from the PowerShell Gallery, run the
`Get-InstalledModule` cmdlet. This command lists all the modules you have on your system that were
installed directly from the PowerShell Gallery.
To find out which modules you installed from the PowerShell Gallery, run the `Get-InstalledModule`
cmdlet. This command lists all the modules you have on your system that were installed directly from
the PowerShell Gallery.

Similarly, to find out which scripts you have installed from the PowerShell Gallery, run the
Similarly, to find out which scripts you installed from the PowerShell Gallery, run the
`Get-InstalledScript` cmdlet. This command lists all the scripts you have on your system that were
installed directly from the PowerShell Gallery.

Expand All @@ -143,8 +138,7 @@ Hosts required when using the PowerShell Gallery website:
- `go.microsoft.com` and `aka.ms` - redirection services

> [!NOTE]
> These endpoints have changed. The old endpoints that ended with `azureedge.net` are no longer
> supported.
> The old endpoints that ended with `azureedge.net` are no longer supported.

## Related links

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,15 @@ PSGallery https://www.powershellgallery.com/api/v2
## Publishing resources to the repository

To publish resources to a secured repository, you must provide the credential you configured. This
example show how to publish a resource to the `artifactory` repository using your stored credential.
example shows how to publish a resource to the `artifactory` repository using your stored credential.

```powershell
Publish-PSResource -Path .\Get-Hello\ -Repository artifactory -ApiKey (Get-Secret JFrogPublish)
```

Once you have provided the credential, **PowerShellGet** reuses the credential for subsequent
commands that target the same repository. The following examples show how to find and install a
resource. Notice that the credential isn't required.
**PowerShellGet** reuses the credential for subsequent commands that target the same repository. The
following examples show how to find and install a resource. Notice that the credential isn't
required.

```powershell
Find-PSResource -Name Get-Hello -Repository artifactory
Expand Down