Informazioni sulle variabili
- 11/09/2020
- 9 minuti per la lettura
-
- S
- s
- q
Descrizione breve
Descrive come le variabili memorizzano i valori che possono essere usati in PowerShell.
Descrizione lunga
È possibile memorizzare tutti i tipi di valori nelle variabili di PowerShell. Ad esempio, memorizzare i risultati dei comandi e memorizzare gli elementi utilizzati nei comandi e nelle espressioni, come nomi, percorsi, impostazioni e valori.
Una variabile è un’unità di memoria in cui sono memorizzati i valori. In PowerShell, le variabili sono rappresentate da stringhe di testo che iniziano con un segno di dollaro ($
), come $a
, $process
o $my_var
.
I nomi delle variabili non fanno distinzione tra maiuscole e minuscole e possono includere spazi e caratteri speciali. Tuttavia, i nomi delle variabili che includere caratteri speciali e spazi sono difficili da usare e dovrebbero essere evitati. Per ulteriori informazioni, vedere Nomi di variabili che includono caratteri speciali.
Esistono diversi tipi di variabili in PowerShell.
-
Variabili create dall’utente: le variabili create dall’utente vengono create e gestite dall’utente. Per impostazione predefinita, le variabili create dalla riga di comando di PowerShell esistono solo quando la finestra di PowerShell è aperta. Quando la finestra di PowerShell è chiusa, le variabili sono eliminata. Per salvare una variabile, aggiungila al tuo profilo PowerShell. Puoi anche creare variabili in script con ambito globale, script o locale.
-
Va automatico affidabili: le variabili automatiche memorizzano lo stato di PowerShell. Queste variabili vengono create da PowerShell e PowerShell modifica i propri valori come richiesto per mantenerne l’accuratezza. Gli utenti non possono modificare il valore di queste variabili. Ad esempio, la variabile
$PSHOME
memorizza il percorso della directory di installazione di PowerShell.Per ulteriori informazioni, un elenco e una descrizione delle variabili automatiche, vedere about_Automatic_Variables.
-
Variabili di preferenza: le variabili di preferenza memorizzano le preferenze dell’utente per PowerShell. Queste variabili vengono create da PowerShell e vengono popolate con valori predefiniti. Gli utenti possono modificare il valori di queste variabili. Ad esempio, la variabile
$MaximumHistoryCount
determina il numero massimo di voci nella cronologia della sessione.Per ulteriori informazioni, un elenco e una descrizione di le variabili di preferenza, vedere about_Preference_Variables.
Lavorare con le variabili
Per creare una nuova variabile, utilizzare un’istruzione di assegnazione per assegnare un valore alla variabile. non è necessario dichiarare la variabile prima di utilizzarla. Il valore predefinito di tutte le variabili è $null
.
Per ottenere un elenco di tutte le variabili nella sessione di PowerShell, digita Get-Variable
. I nomi delle variabili vengono visualizzati senza il segno precedente del dollaro ($
) utilizzato per fare riferimento alle variabili.
Ad esempio:
Le variabili sono utili per memorizzare i risultati dei comandi.
Ad esempio:
A visualizzare il valore di una variabile, digitare il nome della variabile, preceduto dal segno di un collare ($
).
Ad esempio:
Per modificare il valore di una variabile, assegna un nuovo valore alla variabile.
I seguenti esempi visualizzano il valore della variabile $MyVariable
, cambiano il valore della variabile e quindi visualizzano il nuovo valore.
Per eliminare il valore di una variabile, utilizza il cmdlet Clear-Variable
o cambia il valore ue to $null
.
Per eliminare la variabile , utilizza Remove-Variable o Remove-Item.
Tipi di variabili
È possibile memorizzare qualsiasi tipo di oggetto in una variabile, inclusi numeri interi, stringhe, array e tabelle hash. Inoltre, oggetti che rappresentano processi, servizi, registri eventi e computer.
Le variabili di PowerShell sono tipizzate in modo approssimativo, il che significa che non sono limitate a un particolare tipo di oggetto. Una singola variabile può persino contenere una raccolta, o array, di diversi tipi di oggetti allo stesso tempo.
Il tipo di dati di una variabile è determinato dai tipi .NET dei valori della variabile. Per visualizzare il tipo di oggetto di una variabile, usaGet- Membro.
Ad esempio:
È possibile utilizzare un attributo di tipo e una notazione cast per garantire che una variabile possa contenere solo tipi di oggetto specifici o oggetti che possono essere convertiti in quel tipo.Se si tenta di assegnare un valore di un altro tipo, PowerShell tenta di convertire il valore nel relativo tipo. Se il tipo non può essere convertito, l’istruzione di assegnazione non riesce.
Per utilizzare la notazione cast, immettere un nome di tipo, racchiuso tra parentesi, prima del nome della variabile (sul lato sinistro dell’istruzione di assegnazione). crea una variabile $number
che può contenere solo numeri interi, una variabile $words
che può contenere solo stringhe e una $dates
variabile che può contenere solo oggetti DateTime.
Utilizzo di variabili in comandi ed espressioni
Per utilizzare una variabile in un comando o un’espressione, digita il nome della variabile, preceduto dal segno del dollaro ($
).
Se il nome della variabile e il simbolo del dollaro non sono racchiusi tra virgolette o se “sono racchiusi tra virgolette doppie ("
), t Il valore della variabile viene utilizzato nel comando o nell’espressione.
Se il nome della variabile e il segno del dollaro sono racchiusi tra virgolette singole ("
), il nome della variabile viene utilizzato nell’espressione.
Per ulteriori informazioni sull’utilizzo delle virgolette in PowerShell, vederebout_Quoting_Rules.
Questo esempio ottiene il valore di $PROFILE
variabile, che è il percorso del file del profilo utente di PowerShell nella console di PowerShell.
In questo Ad esempio, vengono mostrati due comandi che possono aprire il profilo di PowerShell innotepad.exe. L’esempio con virgolette doppie ("
) utilizza la variabile “svalue.
I seguenti esempi utilizzano virgolette singole ("
) che trattano la variabile come testo letterale.
Nomi di variabili che includono caratteri speciali
I nomi di variabili iniziano con un dollaro ( $
) e può includere caratteri alfanumerici e caratteri speciali. La lunghezza del nome della variabile è limitata solo dalla memoria disponibile.
La best practice è che i nomi delle variabili includano solo caratteri alfanumerici e il carattere di sottolineatura (_
). I nomi di variabili che includono spazi e altri caratteri speciali sono difficili da usare e dovrebbero essere evitati.
I nomi di variabili alfanumerici possono contenere questi caratteri :
- Caratteri Unicode di queste categorie: Lu, Ll, Lt, Lm, L o o Nd.
- Carattere di sottolineatura (
_
). - Punto interrogativo (
?
) carattere.
Il seguente elenco contiene le descrizioni delle categorie Unicode. Per ulteriori informazioni, vedere UnicodeCategory.
- Lu – UppercaseLetter
- Ll – LowercaseLetter
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
Per creare o visualizzare un nome di variabile che include spazi o caratteri speciali, racchiudi il nome della variabile con il riccio parentesi graffe ({}
) caratteri. Le parentesi graffe indicano a PowerShell di interpretare i caratteri del nome della variabile come letterali.
I nomi delle variabili dei caratteri speciali possono contenere questi caratteri:
Ad esempio, il seguente comando crea la variabile denominata save-items
. Le parentesi graffe ({}
) sono necessarie perché il nome della variabile include un trattino (-
) carattere speciale.
Il comando seguente ottiene gli elementi figlio nella directory rappresentata da ProgramFiles(x86)
enviro variabile nment.
Per fare riferimento a un nome di variabile che include parentesi graffe, racchiudere il nome della variabile tra parentesi graffe e utilizzare il carattere backtick per evitare le parentesi graffe. Ad esempio, per creare una variabile denominata this{value}is
digita:
Variabili e ambito
Per impostazione predefinita, le variabili sono disponibili solo nell’ambito in cui sono state create.
Ad esempio, una variabile che crei in una funzione è disponibile solo all’interno della funzione. Una variabile che crei in uno script è disponibile solo all’interno dello script. Se esegui il dot-source dello script, la variabile viene aggiunta all’ambito corrente. Per ulteriori informazioni, vedere about_Scopes.
un modificatore di ambito per modificare l’ambito predefinito della variabile. La seguente espressione crea una variabile denominata Computers
. La variabile ha un ambito globale, anche quando viene creata in uno script o in una funzione.
Per qualsiasi script o comando che viene eseguito fuori sessione, è necessario il Using
modificatore di ambito per incorporare la variabile valori dall’ambito della sessione chiamante, in modo che il codice della sessione possa accedervi.
Per ulteriori informazioni, vedere about_Remote_Variables.
Salvataggio delle variabili
Variabili create sono disponibili solo nella sessione in cui li crei. Si perdono quando chiudi la sessione.
Per creare la variabile in ogni sessione di PowerShell che inizi, aggiungi la variabile al tuo profilo di PowerShell.
Ad esempio, per modificare il valore della variabile $VerbosePreference
in ogni sessione PowerShell, aggiungi il seguente comando al tuo profilo PowerShell.
Puoi aggiungere questo comando al tuo profilo PowerShell aprendo il file $PROFILE
in un editor di testo, come notepad.exe. Per ulteriori informazioni sui profili PowerShell, vedi about_Profiles.
Variabile: unità
Il provider di variabili PowerShell crea un’unità Variable:
che ha l’aspetto e si comporta come un’unità del file system, ma contiene le variabili nella sessione e i relativi valori.
Per passare all’unità Variable:
, utilizza il seguente comando:
Per elencare gli elementi e le variabili nell’unità Variable:
, utilizza o Get-ChildItem
cmdlet.
Per ottenere il valore di una particolare variabile, utilizzare la notazione del file system per specificare il nome dell’unità e il nome della variabile. Ad esempio, per ottenere la $PSCulture
variabile automatica, utilizza il seguente comando.
Per visualizzare ulteriori informazioni sull’unità Variable:
e sul provider PowerShellVariable, digita:
Sintassi variabile con percorsi provider
È possibile anteporre a un percorso provider il segno del dollaro ($
) e accedere al contenuto di qualsiasi provider che implementa l’interfaccia IContentCmdletProvider.
I seguenti provider PowerShell integrati supportano questa notazione:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
I cmdlet variabili
PowerShell include un set di cmdlet progettati per gestire le variabili.
Per elencare i cmdlet, digitare:
Per ottenere assistenza per un cmdlet specifico, digita:
Nome cmdlet | Descrizione |
---|---|
Clear-Variable |
Elimina il valore di una variabile. |
Get-Variable |
Ottiene le variabili nella console corrente. |
New-Variable |
Crea una nuova variabile. |
Remove-Variable |
Elimina una variabile e il relativo valore. |
Set-Variable |
Modifica il valore di una variabile. |
Vedi anche
about_Automatic_Variables
about_Environment_Variables