Condividi tramite


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 della variabile.

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 in Constant.
  • 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:

  • Global
  • Local
  • Script
  • Private
  • 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:
    • set
    • sv