Set-Variable
Imposta il valore di una variabile. Crea la variabile se una con il nome richiesto non esiste.
Sintassi
Default (Impostazione predefinita)
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Set-Variable
Esempio
Esempio 1: Impostare una variabile e ottenere il relativo valore
PS C:\> Set-Variable -Name "desc" -Value "A description"
PS C:\> Get-Variable -Name "desc"
Questi comandi impostano il valore della variabile desc su A description e quindi ottiene il valore della variabile.
Esempio 2: Impostare una variabile globale di sola lettura
PS C:\> Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru | Format-List -Property *
Questo comando crea una variabile globale di sola lettura che contiene tutti i processi nel sistema e quindi visualizza tutte le proprietà della variabile.
Il comando usa il cmdlet Set-Variable per creare la variabile. Usa il parametro PassThru per creare un oggetto che rappresenta la nuova variabile e usa l'operatore pipeline (|) per passare l'oggetto al cmdlet Format-List. Usa il parametro Property di Format-List con il valore (*) per visualizzare tutte le proprietà della variabile appena creata.
Il valore "(Get-Process)" è racchiuso tra parentesi per assicurarsi che venga eseguito prima di essere archiviato nella variabile. In caso contrario, la variabile contiene le parole "Get-Process".
Esempio 3: Informazioni sulle variabili pubbliche e private
PS C:\> New-Variable -Name "counter" -Visibility Public -Value 26
PS C:\> $Counter
26
PS C:\> Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
Counter 26
PS C:\> Set-Variable -Name "counter" -Visibility Private
PS C:\> Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
PS C:\> $counter
"Cannot access the variable '$counter' because it is a private variable"
PS C:\> .\use-counter.ps1
#Commands completed successfully.
Questo comando mostra come modificare la visibilità di una variabile in Privato. Questa variabile può essere letta e modificata dagli script con le autorizzazioni necessarie, ma non è visibile all'utente.
L'output di esempio mostra la differenza nel comportamento delle variabili pubbliche e private.
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | cfr |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Description
Specifica la descrizione della variabile.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Exclude
Specifica una matrice di elementi che questo cmdlet esclude dall'operazione.
Il valore di questo parametro qualifica il parametro Path.
Immettere un elemento o un modello di percorso, ad esempio *.txt.
Sono consentiti i metacaratteri.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Force
Consente di creare una variabile con lo stesso nome di una variabile di sola lettura esistente o di modificare il valore di una variabile di sola lettura.
Per impostazione predefinita, è possibile sovrascrivere una variabile, a meno che la variabile non abbia un valore di opzione ReadOnly o Constant.
Per altre informazioni, vedere il parametro option
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Include
Specifica una matrice di elementi inclusi nel cmdlet nell'operazione.
Il valore di questo parametro specifica il parametro Nome.
Immettere un nome o un modello di nome, ad esempio c*.
Sono consentiti i metacaratteri.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Name
Specifica il nome della variabile.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Option
Specifica il valore della proprietà Opzioni
I valori validi sono:
- Nessuno: non imposta alcuna opzione. "Nessuna" è l'impostazione predefinita.
- ReadOnly: può essere eliminato. Non può essere modificato, ad eccezione dell'utilizzo del parametro Force.
- Costante: non può essere eliminata o modificata. "Constant" è valido solo quando si crea una variabile. Non è possibile modificare le opzioni di una variabile esistente in "Costante".
- Private: la variabile è disponibile solo nell'ambito corrente.
- AllScope: la variabile viene copiata in tutti i nuovi ambiti creati.
Per visualizzare la proprietà opzioni di tutte le variabili nella sessione, digitare Get-Variable | Format-Table -Property name, options -Autosize.
Proprietà dei parametri
| Tipo: | ScopedItemOptions |
| Valore predefinito: | None |
| Valori accettati: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PassThru
Restituisce un oggetto che rappresenta la nuova variabile. Per impostazione predefinita, questo cmdlet non genera alcun output.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Scope
Specifica l'ambito della variabile. I valori accettabili per questo parametro sono:
- Generale
- Locale
- Sceneggiatura
- Privato
- Numero relativo all'ambito corrente (da 0 al numero di ambiti, dove 0 è l'ambito corrente e 1 è il relativo elemento padre).
Local è l'impostazione predefinita.
Per altre informazioni, vedere about_Scopes.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | Local |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Value
Specifica il valore della variabile.
Proprietà dei parametri
| Tipo: | Object |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | False |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Visibility
Determina se la variabile è visibile all'esterno della sessione in cui è stata creata. Questo parametro è progettato per l'uso in script e comandi che verranno recapitati ad altri utenti.
I valori validi sono:
- Public: la variabile è visibile. ("Public" è l'impostazione predefinita.
- Private: la variabile non è visibile.
Quando una variabile è privata, non viene visualizzata in elenchi di variabili, ad esempio quelle restituite da Get-Variable o nelle visualizzazioni dell'unità Variabile: . I comandi per leggere o modificare il valore di una variabile privata restituiscono un errore. Tuttavia, l'utente può eseguire comandi che usano una variabile privata se i comandi sono stati scritti nella sessione in cui è stata definita la variabile.
Proprietà dei parametri
| Tipo: | SessionStateEntryVisibility |
| Valore predefinito: | Public |
| Valori accettati: | Public, Private |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Wi |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
Object
È possibile inviare tramite pipe un oggetto che rappresenta il valore della variabile a Set-Variable.
Output
None or System.Management.Automation.PSVariable
Quando si usa il parametro PassThru