Gets information about the specified Windows PowerShell provider.
Get-PSProvider [[-PSProvider] [<String[]>]] [<CommonParameters>]

The Get-PSProvider cmdlet gets the Windows PowerShell providers in the current session. You can get a particular drive or all drives in the session.

Windows PowerShell providers let you access a variety of data stores as though they were file system drives. For information about Windows PowerShell providers, see about_Providers.

-PSProvider [<String[]>]

Specifies the name or names of the Windows PowerShell providers about which this cmdlet gets information.


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



You cannot pipe objects to this cmdlet.



This cmdlet returns objects that represent the Windows PowerShell providers in the session.

  1. Display a list of all available providers:
    PS C:> Get-PSProvider

    This command displays a list of all available Windows PowerShell providers.

  2. Display a list of all Windows PowerShell providers that begin with specified letters:
    PS C:> Get-PSProvider f*, r* | Format-List

    This command displays a list of all Windows PowerShell providers with names that begin with the letter f or r.

  3. Find snap-ins or module that added providers to your session:
    PS C:> Get-PSProvider | Format-Table name, module, pssnapin -auto
       Name        Module       PSSnapIn
       ----        ------       --------
       Test        TestModule
       WSMan                    Microsoft.WSMan.Management
       Alias                    Microsoft.PowerShell.Core
       Environment              Microsoft.PowerShell.Core
       FileSystem               Microsoft.PowerShell.Core
       Function                 Microsoft.PowerShell.Core
       Registry                 Microsoft.PowerShell.Core
       Variable                 Microsoft.PowerShell.Core
       Certificate              Microsoft.PowerShell.Security
    PS C:> Get-PSProvider | Where {$_.pssnapin -eq "Microsoft.PowerShell.Security"}
       Name            Capabilities      Drives
       ----            ------------      ------
       Certificate     ShouldProcess     {cert}

    These commands find the Windows PowerShell snap-ins or modules that added providers to your session. All Windows PowerShell elements, including providers, originate in a snap-in or in a module.

    These commands use the PSSnapin and Module properties of the ProviderInfo object that Get-PSProvider returns. The values of these properties contain the name of the snap-in or module that adds the provider.

    The first command gets all of the providers in the session and formats them in a table with the values of their Name, Module, and PSSnapin properties.

    The second command uses the Where-Object cmdlet to get the providers that come from the Microsoft.PowerShell.Security snap-in.

  4. Resolve the path of the Home property of the file system provider:
    PS C:> Resolve-Path ~
    PS C:> (get-psprovider FileSystem).home

    This example shows that the tilde symbol (~) represents the value of the Home property of the FileSystem provider. The Home property value is optional, but for the FileSystem provider, it is defined as $env:homedrive$env:homepath or $home.