Condividi tramite


Informazioni sui provider

Breve descrizione

Viene descritto in che modo i provider PowerShell forniscono l'accesso a dati e componenti che altrimenti non sarebbero facilmente accessibili dalla riga di comando. I dati vengono presentati in un formato coerente simile a un file system unità.

Descrizione lunga

I provider PowerShell sono Microsoft .NET programmi basati su Framework che rendono disponibili in PowerShell i dati in un archivio dati specializzato, in modo che sia possibile visualizzarli e gestirli.

I dati esposti da un provider vengono visualizzati in un'unità e si accede ai dati in un percorso analogo a quello di un'unità disco rigido. È possibile utilizzare uno dei cmdlet predefiniti supportati dal provider per gestire i dati nell'unità del provider. È anche possibile usare cmdlet personalizzati progettati appositamente per i dati.

I provider possono anche aggiungere parametri dinamici ai cmdlet predefiniti. Si tratta di parametri disponibili solo quando si utilizza il cmdlet con i dati del provider.

Provider predefiniti

PowerShell include un set di provider predefiniti che è possibile usare per accedere ai diversi tipi di archivi dati.

Provider Unità Archivio dati
Alias Alias: Alias di PowerShell
Certificato Cert: certificati X509 per le firme digitali
Ambiente Env: Variabili di ambiente Windows
FileSystem (*) Unità file System, directory e file
Funzione Funzione: Funzioni di PowerShell
Registro HKLM:, HKCU: Registro di sistema di Windows
Variabile Variable: Variabili di PowerShell
WSMan WSMan: Informazioni sulla configurazione di WS-Management

(*) Le unità FileSystem variano in ogni sistema.

È anche possibile creare provider PowerShell personalizzati ed è possibile installare i provider che altri utenti sviluppano. Per elencare i provider disponibili nella sessione, digitare:

Get-PSProvider

Installazione e rimozione di provider

I provider PowerShell vengono recapitati all'utente negli snap-in di PowerShell, che sono programmi basati su .NET Framework compilati in file con estensione dll. Gli snap-in possono includere provider e cmdlet.

Prima di usare le funzionalità del provider, è necessario installare lo snap-in e quindi aggiungerlo alla sessione di PowerShell. Per ulteriori informazioni, vedere about_PSSnapins.

Non è possibile disinstallare un provider, anche se è possibile rimuovere lo snap-in di PowerShell per il provider dalla sessione corrente. In tal caso, sarà necessario rimuovere tutto il contenuto dello snap-in, inclusi i relativi cmdlet.

Per rimuovere un provider dalla sessione corrente, utilizzare il Remove-PSSnapin cmdlet. Questo cmdlet non disinstalla il provider, ma rende il provider non disponibile nella sessione.

È anche possibile usare il Remove-PSDrive cmdlet per rimuovere qualsiasi unità dalla sessione corrente. Questi dati nell'unità non sono interessati, ma l'unità non è più disponibile in tale sessione.

Visualizzazione di provider

Per visualizzare i provider PowerShell nel computer, digitare:

Get-PSProvider

L'output elenca i provider predefiniti e i provider aggiunti alla sessione.

Cmdlet del provider

I cmdlet seguenti sono progettati per funzionare con i dati esposti da qualsiasi provider. È possibile utilizzare gli stessi cmdlet nello stesso modo per gestire i diversi tipi di dati esposti dai provider. Dopo aver apprendere come gestire i dati di un provider, è possibile utilizzare le stesse procedure con i dati di qualsiasi provider.

Ad esempio, tramite il New-Item cmdlet viene creato un nuovo elemento. Nell' C: unità supportata dal provider filesystem , è possibile usare New-Item per creare un nuovo file o una nuova cartella. Nelle unità supportate dal provider del registro di sistema , è possibile utilizzare New-Item per creare una nuova chiave del registro di sistema. Nell' Alias: unità è possibile usare New-Item per creare un nuovo alias.

Per informazioni dettagliate sui cmdlet seguenti, digitare:

Get-Help <cmdlet-name> -Detailed

Cmdlet ChildItem

Cmdlet per il contenuto

Cmdlet Item

Cmdlet ItemProperty

Cmdlet Location

Cmdlet Path

Cmdlet PSDrive

Cmdlet PSProvider

Visualizzazione dei dati del provider

Il vantaggio principale di un provider è che espone i propri dati in modo familiare e coerente. Il modello per la presentazione dei dati è un'unità file system.

Per usare i dati esposti dal provider, è possibile visualizzarli, spostarli e modificarli come se fossero dati su un disco rigido. Pertanto, le informazioni più importanti su un provider sono il nome dell'unità supportata.

L'unità viene elencata nella visualizzazione predefinita del Get-PSProvider cmdlet, ma è possibile ottenere informazioni sull'unità del provider utilizzando il Get-PSDrive cmdlet. Ad esempio, per ottenere tutte le proprietà della funzione: unità, digitare:

Get-PSDrive Function | Format-List *

È possibile visualizzare e spostarsi tra i dati in un'unità del provider esattamente come in un'unità file system.

Per visualizzare il contenuto di un'unità del provider, usare i cmdlet Get-Item o Get-ChildItem. Digitare il nome dell'unità seguito da due punti (:). Ad esempio, per visualizzare il contenuto dell'unità alias:, digitare:

Get-Item alias:

È possibile visualizzare e gestire i dati in qualsiasi unità da un'altra unità includendo il nome dell'unità nel percorso. Ad esempio, per visualizzare la chiave del registro di sistema HKLM\Software nell'unità HKLM: da un'altra unità, digitare:

Get-ChildItem HKLM:\SOFTWARE\

Per aprire l'unità, usare il cmdlet set-location. Ricordare i due punti quando si specifica il percorso dell'unità. Ad esempio, per modificare il percorso della directory radice dell'unità Cert:, digitare:

Set-Location cert:

Quindi, per visualizzare il contenuto dell'unità Cert:, digitare:

Get-ChildItem

Passaggio attraverso dati gerarchici

È possibile spostarsi in un'unità del provider esattamente come se si trattasse di un'unità disco rigido. Se i dati sono disposti in una gerarchia di elementi all'interno di elementi, utilizzare una barra rovesciata ( \ ) per indicare un elemento figlio. Utilizzare il seguente formato:

drive:\location\child-location\...

Ad esempio, per impostare il percorso sulla chiave del registro di sistema HKLM\Software, digitare un comando set-location, ad esempio:

Set-Location HKLM:\SOFTWARE\

È anche possibile usare riferimenti relativi a percorsi. Un punto (.) rappresenta la posizione corrente. Ad esempio, se si è nella chiave del registro di sistema HKLM: \ Software\Microsoft e si desidera elencare le sottochiavi del registro di sistema nella chiave HKLM: \ Software\Microsoft\PowerShell, digitare il comando seguente:

Get-ChildItem .\PowerShell

Home page provider

I provider hanno anche un percorso Home . Questo percorso è condiviso da tutti PSDrives i backup del provider. Può essere recuperato visualizzando la proprietà Home del provider.

Get-PSProvider | Format-Table Name, Home
Name        Home
----        ----
Registry
Alias
Environment
FileSystem  C:\Users\robreed
Function
Variable
Certificate

Il provider filesystem è l'unico provider che ha un valore predefinito per Home. Si tratta dello stesso valore di $Home vedere about_Automatic_Variables.

È possibile impostare la Home directory per un provider, per la sessione corrente, usando la relativa proprietà.

(Get-PSProvider FileSystem).Home = "C:\"

Il ~ carattere può essere usato per rappresentare la home directory del provider. Se per il provider non è impostato un percorso Home , verrà visualizzato un errore.

Cert:\> Set-Location ~
Set-Location : Home location for this provider is not set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Set-Location],
                              PSInvalidOperationException
...

Ricerca di parametri dinamici

I parametri dinamici sono parametri del cmdlet aggiunti a un cmdlet da un provider. Questi parametri sono disponibili solo quando il cmdlet viene utilizzato con il provider che li ha aggiunti.

Ad esempio, l' Cert: unità aggiunge il parametro CodeSigningCert ai Get-Item cmdlet e Get-ChildItem . È possibile usare questo parametro solo quando si usa Get-Item o Get-ChildItem nell' Cert: unità.

Per un elenco dei parametri dinamici supportati da un provider, vedere il file della Guida per il provider. Digitare:

Get-Help <provider-name>

Ad esempio:

Get-Help certificate

Informazioni sui provider

Sebbene tutti i dati del provider siano presenti nelle unità e si utilizzino gli stessi metodi per spostarsi tra di essi, la somiglianza viene arrestata. Gli archivi dati esposti dal provider possono essere diversi come Active Directory posizioni e cassette postali di Microsoft Exchange Server.

Per informazioni sui singoli provider PowerShell, digitare:

Get-Help <ProviderName>

Ad esempio:

Get-Help registry

Per un elenco degli argomenti della guida sui provider, digitare:

Get-Help * -Category Provider

Vedere anche

about_Locations

about_Path_Syntax