about_Providers
Aggiornamento: maggio 2014
Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0
ARGOMENTO
about_Providers
DESCRIZIONE BREVE
Viene descritto come i provider Windows PowerShell forniscono accesso ai dati e ai componenti che altrimenti non sarebbero facilmente accessibili alla riga di comando. I dati sono presentati in un formato coerente, simile a un'unità del file system.
DESCRIZIONE LUNGA
I provider Windows PowerShell sono programmi basati su Microsoft .NET Framework che rendono disponibili in Windows PowerShell i dati presenti in archivi dati speciali, consentendo di visualizzarli e gestirli.
I dati esposti da un provider vengono visualizzati in un'unità ed è possibile accedervi tramite un percorso sull'unità disco rigido. È possibile utilizzare i cmdlet incorporati e supportati dal provider per gestire i dati nell'unità del provider. Inoltre, è possibile utilizzare i cmdlet personalizzati progettati soprattutto per i dati.
I provider possono inoltre aggiungere parametri dinamici ai cmdlet incorporati. Si tratta di parametri disponibili solo quando si usa il cmdlet con i dati del provider.
PROVIDER INCORPORATI
Windows PowerShell include un set di provider incorporati che è possibile utilizzare per accedere ai diversi tipi di archivi dati.
Provider Drive Data store
-------- ----- ----------
Alias Alias: Windows PowerShell aliases
Certificate Cert: x509 certificates for digital signatures
Environment Env: Windows environment variables
FileSystem * File system drives, directories, and files
Function Function: Windows PowerShell functions
Registry HKLM:, HKCU: Windows registry
Variable Variable: Windows PowerShell variables
WSMan WSMan: WS-Management configuration information
* Le unità del file System variano in ogni sistema.
È inoltre possibile creare i propri provider Windows PowerShell e installare quelli sviluppati da altri utenti. Per elencare i provider disponibili nella sessione, digitare:
get-psprovider
INSTALLAZIONE E RIMOZIONE DI PROVIDER
I provider Windows PowerShell vengono recapitati negli snap-in Windows PowerShell, cioè programmi basati su .NET Framework che vengono compilati in file con estensione .dll. Gli snap-in possono includere cmdlet e provider.
Prima di utilizzare le funzionalità del provider, è necessario installare lo snap-in e poi aggiungerlo nella sessione Windows PowerShell. Per altre informazioni, vedere about_PSSnapins.
Non è possibile disinstallare un provider, anche se è possibile rimuovere lo snap-in Windows PowerShell per il provider dalla sessione corrente. Se si esegue l'operazione, vengono rimossi tutti i contenuti dello snap-in, inclusi i relativi cmdlet.
È inoltre possibile utilizzare il cmdlet Remove-PSDrive per rimuovere qualsiasi unità dalla sessione corrente. Questi dati sull'unità non sono interessati ma l'unità non è più disponibile in tale sessione.
PROVIDER DI VISUALIZZAZIONE
Per visualizzare i provider Windows PowerShell nel computer, digitare:
get-psprovider
Nell'output sono elencati i provider incorporati e i provider aggiunti alla sessione.
CMDLET DEL PROVIDER
I cmdlet 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 appreso a gestire i dati di un provider, è possibile utilizzare le stesse procedure con i dati da qualsiasi provider.
Ad esempio, il cmdlet New-Item crea un nuovo elemento. Nell'unità C: supportata dal provider del file System, è possibile utilizzare New-Item per creare un nuovo file o cartella. Nelle unità supportate dal provider del Registro di sistema, è possibile utilizzare New-Item per creare una nuova chiave del Registro di sistema. Nell'unità Alias: è possibile utilizzare New-Item per creare un nuovo alias.
Per informazioni dettagliate su uno qualsiasi dei cmdlet seguenti, digitare:
get-help <cmdlet-name> -detailed
CMDLET CHILDITEM
Get-ChildItem
CMDLET DI CONTENUTO
Add-Content
Clear-Content
Get-Content
Set-Content
CMDLET ELEMENTO
Clear-Item
Copy-Item
Get-Item
Invoke-Item
Move-Item
New-Item
Remove-Item
Rename-Item
Set-Item
CMDLET ITEMPROPERTY
Clear-ItemProperty
Copy-ItemProperty
Get-ItemProperty
Move-ItemProperty
New-ItemProperty
Remove-ItemProperty
Rename-ItemProperty
Set-ItemProperty
CMDLET DI POSIZIONE
Get-Location
Pop-Location
Push-Location
Set-Location
CMDLET DI PERCORSO
Join-Path
Convert-Path
Split-Path
Resolve-Path
Test-Path
CMDLET PSDRIVE
Get-PSDrive
New-PSDrive
Remove-PSDrive
CMDLET PSPROVIDER
Get-PSProvider
VISUALIZZAZIONE DEI DATI DEL PROVIDER
Il vantaggio principale di un provider è che espone i propri dati in modo familiare e coerente. Il modello di presentazione dei dati è un'unità del file system.
Per utilizzare i dati esposti dal provider, visualizzarlo, spostarsi al suo interno e modificarlo come se fosse un insieme di dati su un disco rigido. Di conseguenza, l'informazione più importante su un provider è il nome dell'unità che supporta.
L'unità è elencata nella visualizzazione predefinita del cmdlet Get-PSProvider, ma è possibile ottenere informazioni sull'unità provider utilizzando il cmdlet Get-PSDrive. 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à di provider come su un'unità di sistema di file.
Per visualizzare i contenuti di un'unità di provider, utilizzare il cmdlet Get-Item o Get-ChildItem. Digitare il nome dell'unità seguito da due punti (:). Ad esempio, per visualizzare i contenuti dell'Alias: unità, 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 in HKLM: unità da un'altra unità, digitare:
get-childitem hklm:\software
Per aprire l'unità, utilizzare il cmdlet Set-Location. Tenere presente i due punti quando si specifica il percorso dell'unità. Ad esempio, per modificare il percorso alla directory radice del certificato: unità, digitare:
set-location cert:
Quindi, per visualizzare i contenuti del certificato: unità, digitare:
get-childitem
SPOSTAMENTO TRA DATI GERARCHICI
È possibile spostarsi in un'unità di provider come in 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 formato seguente:
drive:\location\child-location\...
Ad esempio, per modificare il percorso per la chiave del Registro di sistema HKLM\Software, digitare un comando Set-Location, ad esempio:
set-location hklm:\software
È inoltre possibile utilizzare riferimenti relativi ai percorsi. Il punto (.) rappresenta il percorso 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
PARAMETRI DI RICERCA DINAMICI
I parametri dinamici sono parametri cmdlet che vengono aggiunti a un cmdlet da un provider. Questi parametri sono disponibili solo quando viene utilizzato il cmdlet con il provider che li ha aggiunti.
Ad esempio, il certificato: l'unità aggiunge il parametro CodeSigningCert per i cmdlet Get-Item e Get-ChildItem. È possibile utilizzare questo parametro solo quando si usa Get-Item o Get-ChildItem nel Cert: unità.
Per un elenco dei parametri dinamici che un provider supporta, vedere il file della Guida per il provider. Tipo:
get-help <provider-name>
Ad esempio:
get-help certificate
FORMAZIONE SUI PROVIDER
Anche se tutti i dati del provider vengono visualizzati nelle unità e si utilizzano gli stessi metodi per spostarsi tra loro, la somiglianza è solo questa. Gli archivi di dati esposti dal provider possono essere svariati così come percorsi di Active Directory e cassette postali di Microsoft Exchange Server.
Per informazioni sui singoli provider Windows PowerShell, digitare:
get-help <ProviderName>
Ad esempio:
get-help registry
Per un elenco di argomenti della Guida sui provider, digitare:
get-help * -category provider
VEDERE ANCHE
about_Locations
about_Path_Syntax