about_Variable_Provider

Nome provider

Variabile

Unità

Variable:

Funzionalità

ShouldProcess

Descrizione breve

Fornisce l'accesso alle variabili di PowerShell e ai relativi valori.

Descrizione dettagliata

Il provider di variabili di PowerShell consente di ottenere, aggiungere, modificare, cancellare ed eliminare variabili di PowerShell nella console corrente.

Il provider di variabili di PowerShell supporta le variabili create da PowerShell, incluse le variabili automatiche, le variabili di preferenza e le variabili create dall'utente.

L'unità Variable è uno spazio dei nomi flat che contiene solo gli oggetti variabile. Le variabili non hanno elementi figlio.

Il provider di variabili supporta i cmdlet seguenti, illustrati in questo articolo.

PowerShell include anche un set di cmdlet progettati appositamente per visualizzare e modificare le variabili. Quando si usano i cmdlet Variable , non è necessario specificare l'unità Variable: nel nome. Questo articolo non illustra l'uso dei cmdlet Variable .

Nota

È anche possibile usare il parser di espressioni di PowerShell per creare, visualizzare e modificare i valori delle variabili senza usare i cmdlet. Quando si usano direttamente le variabili, usare un segno di dollaro ($) per identificare il nome come variabile e l'operatore di assegnazione (=)per stabilire e modificare il relativo valore. Ad esempio, $p = Get-Process crea la p variabile e archivia i risultati di un Get-Process comando.

Tipi esposti da questo provider

Le variabili possono essere uno dei diversi tipi. La maggior parte delle variabili sarà istanze della PSVariable classe . Di seguito sono elencate altre variabili e i relativi tipi.

  • La ? variabile è un'istanza della QuestionMarkVariable classe .
  • La null variabile è un'istanza della NullVariable classe .
  • Le variabili di conteggio massimo sono istanze della SessionStateCapacityVariable classe .
  • LocalVariable Le istanze contengono informazioni sull'esecuzione corrente, ad esempio:
    • MyInvocation
    • PSCommandPath
    • PSScriptRoot
    • PSBoundParameters
    • args
    • input

Il provider Variable espone l'archivio dati nell'unità Variable: . Per usare le variabili, è possibile modificare la posizione dell'unità Variable: (Set-Location Variable:) oppure lavorare da qualsiasi altra unità di PowerShell. Per fare riferimento a una variabile da un'altra posizione, usare il nome dell'unità (Variable:) nel percorso.

Set-Location Variable:

Per tornare in un'unità di file system, digitare il relativo nome. Ad esempio, digitare il comando seguente:

Set-Location C:

È anche possibile usare il provider Variable da qualsiasi altra unità di PowerShell. Per fare riferimento a una variabile da un'altra posizione, usare il nome Variable: dell'unità nel percorso.

Nota

PowerShell usa gli alias per consentire un modo familiare per usare i percorsi del provider. I comandi, dir ad esempio e ls sono ora alias per Get-ChildItem, cd è un alias per Set-Location. e pwd è un alias per Get-Location.

Visualizzazione del valore delle variabili

Ottenere tutte le variabili nella sessione corrente

Questo comando ottiene l'elenco di tutte le variabili e dei relativi valori nella sessione corrente. È possibile usare questo comando da qualsiasi unità di PowerShell.

Get-ChildItem -Path Variable:

Ottenere una variabile usando il relativo percorso del provider

Questo comando recupera un valore di variabili usando il relativo percorso del provider preceduto dal segno di dollaro ($). Ciò ha lo stesso effetto del prefisso del nome delle variabili con il segno di dollaro ($).

$variable:home

Ottenere variabili con caratteri jolly

Questo comando ottiene le variabili il cui nome inizia con "max". È possibile usare questo comando da qualsiasi unità di PowerShell.

Get-ChildItem -Path Variable:max*

Ottenere il valore di ? Variabile

Questo comando usa il -LiteralPath parametro di Get-ChildItem per ottenere il valore della ? variabile dall'interno dell'unità Variable: . ? è un carattere jolly nei percorsi, ma Get-ChildItem non tenta di risolvere i caratteri jolly nei valori del -LiteralPath parametro .

Get-ChildItem -Literalpath ?

Ottenere variabili ReadOnly e Constant

Questo comando ottiene le variabili con i valori di ReadOnly o Constant per la relativa proprietà Options .

Get-ChildItem -Path Variable: | Where-Object {
   $_.options -Match "Constant" `
   -or $_.options -Match "ReadOnly"
 } | Format-List -Property name, value, options

Creazione di variabili

Creare una nuova variabile

Questo comando crea la services variabile e archivia i risultati di un Get-Service comando. Poiché la posizione corrente si trova nell'unità Variable: , il valore del -Path parametro è un punto (.), che rappresenta la posizione corrente.

Le parentesi intorno al Get-Service comando assicurano che il comando venga eseguito prima della creazione della variabile. Senza le parentesi, il valore della nuova variabile è una stringa "Get-Service".

New-Item -Path . -Name services -Value (Get-Service)

Creare una variabile usando un percorso assoluto

Questo comando crea una services variabile e archivia il risultato di un Get-Service comando.

New-Item -Path Variable:services -Value Get-Service

Per creare una variabile senza un valore, omettere l'operatore di assegnazione.

Cambiamento di variabili

Ridenominazione di una variabile

Questo comando usa il Rename-Item cmdlet per modificare il nome della a variabile in processes.

Rename-Item -Path Variable:a -NewName processes

Modificare il valore di una variabile

Questo comando usa il Set-Item cmdlet per modificare il valore della ErrorActionPreference variabile in "Stop".

Set-Item -Path Variable:ErrorActionPreference -Value Stop

Copiare una variabile

Questo comando usa il Copy-Item cmdlet per copiare la processes variabile in old_processes. Verrà creata una nuova variabile denominata old_processes con lo stesso valore della processes variabile.

Copy-Item -Path Variable:processes -Destination Variable:old_processes

Eliminare una variabile

Questo comando elimina la serv variabile dalla sessione corrente. È possibile usare questo comando in qualsiasi unità di PowerShell.

Remove-Variable -Path Variable:serv

Eliminare variabili usando il parametro -Force

Questo comando elimina tutte le variabili dalla sessione corrente, ad eccezione delle variabili la cui proprietà Options ha il valore Constant. Senza il -Force parametro , il comando non elimina le variabili la cui proprietà Options ha il valore ReadOnly.

Remove-Item Variable:* -Force

Impostazione del valore di una variabile su NULL

Questo comando usa il Clear-Item cmdlet per modificare il valore della processes variabile in NULL.

Clear-Item -Path Variable:processes

Uso della pipeline

I cmdlet del provider accettano l'input della pipeline. È possibile usare la pipeline per semplificare l'attività inviando i dati del provider da un cmdlet a un altro cmdlet del provider. Per altre informazioni su come usare la pipeline con i cmdlet del provider, vedere i riferimenti ai cmdlet forniti in questo articolo.

Visualizzazione delle informazioni della Guida

A partire da Windows PowerShell 3.0, è possibile ottenere argomenti della Guida personalizzati per i cmdlet del provider che ne illustrano il comportamento in un'unità di file system.

Per ottenere gli argomenti della Guida personalizzati per l'unità del file system, eseguire un comando Get-Help in un'unità file system o usare il -Path parametro Get-Helpper specificare un'unità del file system.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable:

Vedi anche