Condividi tramite


Informazioni_su_Variable_Provider

Nome del fornitore

Variabile

Dischi

Variable:

Capacità

DovrebbeProcessare

Breve descrizione

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

Descrizione dettagliata

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

Il provider della variabile di PowerShell supporta le variabili che PowerShell crea, comprese quelle automatiche, quelle di preferenza e quelle che si creano.

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

Il provider variabile 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 variabile, non è necessario specificare l'unità Variable: nel nome. Questo articolo non illustra l'uso di variabili cmdlet.

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 variabile p e archivia i risultati di un comando Get-Process.

Tipi esposti da questo provider

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

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

Il provider Variabile espone l'archivio dati nell'unità Variable:. Per usare le variabili, è possibile passare all'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 a un drive del file system, digitare il nome del drive. Ad esempio, digitare:

Set-Location C:

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

Nota

PowerShell utilizza gli alias per offrire un modo familiare di lavorare con i percorsi del provider. I comandi come dir 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 i relativi valori nella sessione corrente. È possibile usare questo comando da qualsiasi unità di PowerShell.

Get-ChildItem -Path Variable:

Recuperare una variabile usando il 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 con nomi che iniziano con "Max". È possibile usare questo comando da qualsiasi unità di PowerShell.

Get-ChildItem -Path Variable:Max*

Ottieni il valore di ? variabile

Questo comando usa il parametro -LiteralPath di Get-ChildItem per ottenere il valore della variabile ? dall'unità Variable:. Il ? è un wildcard nei percorsi, ma Get-ChildItem non risolve alcun wildcard nei valori del parametro -LiteralPath.

Get-ChildItem -LiteralPath ?

Ottenere variabili di sola lettura e costanti

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 variabile services e archivia i risultati di un comando Get-Service. Poiché la posizione corrente si trova nell'unità Variable:, il valore del parametro -Path è rappresentato da un punto (.), che indica la posizione corrente.

Le parentesi intorno al comando Get-Service 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 variabile services e archivia il risultato di un comando Get-Service.

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

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

Cambiamento di variabili

Rinominare una variabile

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

Rename-Item -Path Variable:a -NewName processes

Modificare il valore di una variabile

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

Set-Item -Path Variable:ErrorActionPreference -Value Stop

Copiare una variabile

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

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

Eliminare una variabile

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

Remove-Variable -Path Variable:serv

Eliminare le variabili usando il parametro -Force

Questo comando elimina tutte le variabili dalla sessione corrente, ad eccezione delle variabili la cui proprietà Opzioni ha il valore Constant. Senza il parametro -Force, 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 cmdlet Clear-Item per modificare il valore della variabile processes su 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.

Ottenere assistenza

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

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

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Variable:

Vedere anche