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 assegna un valore a una variabile specificata o modifica il valore corrente. Se la variabile non esiste, il cmdlet lo crea.
Esempio
Esempio 1: Impostare una variabile e ottenere il relativo valore
Questi comandi impostano il valore della variabile $desc su A descriptione quindi ottiene il valore della variabile.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name Value
---- -----
desc A description
Esempio 2: Impostare una variabile globale di sola lettura
In questo esempio viene creata una variabile globale di sola lettura che contiene tutti i processi nel sistema e quindi vengono visualizzate tutte le proprietà della variabile.
Set-Variable -Name "processes" -Value (Get-Process) -Option Constant -Scope Global -Description "All processes" -PassThru |
Format-List -Property *
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 un valore di all (*) 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
In questo esempio viene illustrato come modificare la visibilità di una variabile in Private. Questa variabile può essere letta e modificata dagli script con le autorizzazioni necessarie, ma non è visibile all'utente.
New-Variable -Name "counter" -Visibility Public -Value 26
$Counter
26
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
Counter 26
Set-Variable -Name "counter" -Visibility Private
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
$counter
"Cannot access the variable '$counter' because it is a private variable"
.\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.
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:
-
None: non imposta opzioni. (Noneè l'impostazione predefinita. -
ReadOnly: può essere eliminato. Non può essere modificato, ad eccezione dell'utilizzo del parametro Force. -
Constant: non è possibile eliminare o modificare.Constantè valido solo quando si crea una variabile. Non è possibile modificare le opzioni di una variabile esistente inConstant. -
Private: la variabile è disponibile solo nell'ambito corrente. -
AllScope: la variabile viene copiata in tutti i nuovi ambiti creati.
Questi valori sono definiti come un'enumerazione basata su flag. È possibile combinare più valori per impostare più flag usando questo parametro. I valori possono essere passati al parametro option come matrice di valori o come stringa delimitata da virgole di tali valori. Il cmdlet combina i valori usando un'operazione binary-OR. Il passaggio di valori come array è l'opzione più semplice e consente anche di usare il completamento automatico con il tasto tab sui valori.
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:
GlobalLocalScriptPrivate- 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-Variableo nella visualizzazione 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 questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
PSVariable
Quando si usa il parametro PassThru, questo cmdlet restituisce un oggetto PSVariable che rappresenta la variabile nuova o modificata.
Note
PowerShell include gli alias seguenti per Set-Variable:
- Tutte le piattaforme:
setsv