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 dellaQuestionMarkVariable
classe . - La
null
variabile è un'istanza dellaNullVariable
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
Esplorazione delle unità variabili
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-Help per specificare un'unità del file system.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: