ARGOMENTO about_Providers DESCRIZIONE BREVE Descrive come i provider di Windows PowerShell consentono l'accesso a dati e componenti che altrimenti non sarebbero facilmente accessibili dalla riga di comando. I dati sono presentati in un formato coerente analogo a un'unità del file system. DESCRIZIONE DETTAGLIATA I provider di Windows PowerShell sono programmi basati su Microsoft .NET Framework che rendono disponibili in Windows PowerShell i dati di archivi dati specializzati per consentirne la visualizzazione e la gestione. I dati esposti da un provider vengono visualizzati in un'unità e vi si accede tramite un percorso come in un'unità del disco rigido. È possibile utilizzare qualsiasi cmdlet predefinito supportato dal provider per gestire i dati dell'unità del provider. Inoltre, è possibile utilizzare i cmdlet personalizzati progettati specificamente per i dati. I provider possono inoltre aggiungere parametri dinamici ai cmdlet predefiniti. Si tratta di parametri disponibili solo quando si utilizza il cmdlet con i dati del provider. PROVIDER PREDEFINITI In Windows PowerShell sono inclusi vari provider predefiniti che è possibile utilizzare per accedere ai diversi tipi di archivi dati. Provider Drive Archivio dati -------- ----- --------------------------- Alias Alias: Alias di Windows PowerShell Certificate Cert: Certificati X509 per le firme digitali Environment Env: Variabili di ambiente Windows FileSystem * Unità, directory e file del file system Function Function: Funzioni di Windows PowerShell Registry HKLM:, HKCU Registro di sistema di Windows Variable Variable: Variabili di Windows PowerShell WS-Management WSMan Informazioni di configurazione di WS-Management * Le unità FileSystem variano in ogni sistema. È inoltre possibile creare provider di Windows PowerShell personalizzati e installare i provider sviluppati da altri. Per elencare i provider disponibili nella sessione, digitare: get-psprovider INSTALLAZIONE E RIMOZIONE DEI PROVIDER I provider di Windows PowerShell sono forniti mediante gli snap-in di Windows PowerShell, che sono programmi basati su .NET Framework compilati in forma di file DLL. Gli snap-in possono includere provider e cmdlet. Prima di utilizzare le funzionalità del provider, è necessario installare lo snap-in e aggiungerlo alla sessione di Windows PowerShell. Per ulteriori informazioni, vedere about_PsSnapins. Non è possibile disinstallare un provider, sebbene si possa rimuovere dalla sessione corrente lo snap-in di Windows PowerShell relativo al provider in questione. In questo caso, verrà rimosso tutto il contenuto dello snap-in, inclusi i cmdlet. Per rimuovere un provider dalla sessione corrente, utilizzare il cmdlet Remove-PsSnapin. Questo cmdlet non scarica né disinstalla il provider, bensì lo rende non disponibile nella sessione. Inoltre è possibile utilizzare il cmdlet Remove-PsDrive per rimuovere qualsiasi unità dalla sessione corrente. I dati dell'unità non vengono intaccati, sebbene l'unità stessa non sia più disponibile nella sessione. VISUALIZZAZIONE DEI PROVIDER Per visualizzare i provider di Windows PowerShell disponibili nel computer, digitare: get-psprovider Nell'output vengono elencati i provider predefiniti e quelli che sono stati aggiunti alla sessione. CMDLET PROVIDER I cmdlet seguenti sono progettati per l'utilizzo dei dati esposti da qualsiasi provider. È possibile utilizzare gli stessi cmdlet nello stesso modo per gestire diversi tipi di dati esposti dai provider. Dopo avere appreso come gestire i dati di un provider, è possibile utilizzare le stesse procedure con i dati di qualsiasi provider. Ad esempio, il cmdlet New-Item crea un nuovo elemento. Nell'unità C: supportata dal provider FileSystem, è possibile utilizzare New-Item per creare un nuovo file o una nuova cartella. Nelle unità supportate dal provider Registry, è 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 qualsiasi dei seguenti cmdlet, digitare: get-help <nome-cmdlet> -detailed CMDLET CHILDITEM Get-ChildItem CMDLET CONTENT Add-Content Clear-Content Get-Content Set-Content CMDLET ITEM 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 LOCATION Get-Location Pop-Location Push-Location Set-Location CMDLET PATH 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 DEI PROVIDER Il principale vantaggio di un provider è che i dati vengono esposti in modo coerente e usuale. Il modello adottato per la presentazione dei dati è un'unità del file system. Per utilizzare i dati esposti dal provider, li si visualizza, li si scorre e li si modifica come se si trattasse dei dati in un disco rigido. Pertanto, l'informazione più importante su un provider è il nome dell'unità da esso supportata. L'unità è indicata nella visualizzazione predefinita del cmdlet Get- PsProvider, tuttavia è possibile ottenere informazioni sull'unità del provider utilizzando il cmdlet Get-PsDrive. Ad esempio, per ottenere tutte le proprietà dell'unità Function:, digitare: get-psdrive Function | format-list * È possibile visualizzare e scorrere i dati dell'unità di un provider allo stesso modo di quelli di un'unità del file system. Per visualizzare il contenuto dell'unità di un provider, utilizzare il cmdlet Get-Item o Get-ChildItem. Digitare il nome dell'unità seguito dai due punti (:). Ad esempio, per visualizzare il contenuto dell'unità Alias:, digitare: get-item alias: È possibile visualizzare e gestire i dati di un'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à, utilizzare il cmdlet Set-Location. Non omettere i due punti quando si specifica il percorso dell'unità. Ad esempio, per modificare il percorso impostandolo sulla directory radice dell'unità Cert:, digitare: set-location cert: Quindi, per visualizzare il contenuto dell'unità Cert:, digitare: get-childitem SPOSTAMENTO TRA I DATI GERARCHICI È possibile spostarsi nell'unità di un provider come se si trattasse di un disco rigido. Se i dati sono ordinati in forma gerarchica, ossia se gli elementi sono contenuti dentro altri elementi, utilizzare la barra rovesciata (\) per indicare un elemento figlio. Utilizzare il formato seguente: unità:\percorso\posizione-figlio\... Ad esempio, per modificare il percorso impostandolo sulla chiave del Registro di sistema HKLM\Software, utilizzare il comando Set-Location nel modo seguente: set-location hklm:\software È anche possibile utilizzare i riferimenti relativi ai percorsi. Un punto (.) rappresenta il percorso corrente. Se ad esempio ci si trova nella chiave del Registro di sistema HKLM:\Software\Micro soft e si desidera elencare le sottochiavi del Registro di sistema nella chiave HKLM:\Software\Micrsoft\PowerShell, digitare il comando seguente: get-childitem .\powershell INDIVIDUAZIONE DEI PARAMETRI DINAMICI I parametri dinamici sono parametri dei cmdlet aggiunti a un cmdlet da un provider. Questi parametri sono disponibili solo quando il cmdlet viene utilizzato dal provider che lo ha aggiunto. Ad esempio, l'unità Cert: aggiunge il parametro CodeSigningCert ai cmdlet Get-Item e Get-ChildItem. È possibile utilizzare questo parametro solo quando si utilizza Get-Item o Get-ChildItem nell'unità Cert:. Per l'elenco dei parametri dinamici supportati da un provider, vedere il file di informazioni relativo al provider in questione. Digitare: get-help <nome-provider> Ad esempio: get-help certificate INFORMAZIONI SUI PROVIDER Sebbene tutti i dati dei provider vengano visualizzati nelle unità e si utilizzino gli stessi metodi per spostarsi tra di essi, le somiglianze si esauriscono qui. Gli archivi dati esposti da un provider possono variare considerevolmente, spaziando dai percorsi di Active Directory alle cassette postali di Microsoft Exchange Server. Per informazioni sui singoli provider di Windows PowerShell, digitare: get-help <NomeProvider> 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