Crea una nuova variabile.

Sintassi

New-Variable [-Name] <string> [[-Value] <Object>] [-Description <string>] [-Force] [-Option {<None> | <ReadOnly> | <Constant> | <Private> | <AllScope>}] [-PassThru] [-Scope <string>] [-Visibility {<Public> | <Private>}] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrizione

Il cmdlet New-Variable crea una nuova variabile in Windows PowerShell. È possibile assegnare un valore alla variabile durante la creazione oppure assegnare o modificare il valore dopo la creazione.

È possibile utilizzare i parametri di New-Variable per impostare le proprietà della variabile, ad esempio quelle che creano variabili di sola lettura o costanti, impostare l'ambito di una variabile e determinare se le variabili sono pubbliche o private.

In genere, si crea una nuova variabile digitando il nome della variabile e il relativo valore, ad esempio "$var = 3", ma è possibile utilizzare il cmdlet New-Variable per utilizzarne i parametri.

Parametri

-Description <string>

Specifica una descrizione della variabile.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Force

Consente di creare una nuova variabile con lo stesso nome di una variabile di sola lettura esistente.

Per impostazione predefinita, è possibile sovrascrivere una variabile, a meno che la variabile non disponga di un valore dell'opzione ReadOnly o Constant. Per ulteriori informazioni, vedere il parametro Option.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Name <string>

Specifica un nome per la nuova variabile.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Option <ScopedItemOptions>

Imposta il valore della proprietà Options della nuova variabile.

I valori validi sono:

-- None: non imposta alcuna opzione. "None" rappresenta il valore predefinito.

-- ReadOnly: non è possibile modificare il valore della variabile, a meno che non si utilizzi il parametro Force. È possibile utilizzare Remove-Variable per eliminare la variabile.

-- Constant: la variabile non può essere eliminata e non è possibile modificarne le proprietà. Il valore "Constant" è disponibile solo quando si crea un alias. Non è possibile modificare in "Constant" l'opzione di una variabile esistente.

-- Private: la variabile è disponibile solo nell'ambito specificato dal parametro Scope Viene ereditata da ambiti figlio. Questo valore non è correlato al valore "Private" del parametro Visibility.

--AllScope: la variabile viene copiata in qualsiasi nuovo ambito creato.

Per visualizzare la proprietà Options delle variabili, digitare "Get-Variable | Format-Table -property name, options -autosize".

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-PassThru

Restituisce un oggetto che rappresenta la nuova variabile. Per impostazione predefinita, il cmdlet non genera alcun output.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Scope <string>

Determina l'ambito della nuova variabile. I valori validi sono "Global", "Local", "Script" oppure un numero relativo all'ambito corrente, ovvero da 0 al numero di ambiti, dove 0 corrisponde all'ambito corrente e 1 al relativo padre. Il valore predefinito è "Local". Per ulteriori informazioni, vedere about_Scopes.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Value <Object>

Specifica il valore iniziale della variabile.

Obbligatorio?

false

Posizione?

2

Valore predefinito

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

-Visibility <SessionStateEntryVisibility>

Determina se la variabile è visibile all'esterno della sessione in cui è stata creata. Questo parametro viene progettato per l'utilizzo in script e comandi che verranno forniti ad altri utenti.

I valori validi sono:

-- Public: la variabile è visibile. L'impostazione predefinita è "Public".

-- Private: la variabile non è visibile.

Quando una variabile è privata, non viene visualizzata in elenchi di variabili, ad esempio quelli restituiti da Get-Variable o in visualizzazioni dell'unità Variable:. I comandi per leggere o modificare il valore di una variabile privata restituiscono un errore. L'utente può tuttavia eseguire comandi che utilizzano una variabile privata se i comandi sono stati scritti nella sessione in cui è stata definita la variabile.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Public

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Confirm

Chiede una conferma prima di eseguire il comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-WhatIf

Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Object

È possibile reindirizzare un valore a New-Variable.

Output

Nessuno o System.Management.Automation.PSVariable

Quando si utilizza il parametro PassThru, New-Variable genera un oggetto System.Management.Automation.PSVariable che rappresenta la nuova variabile. Negli altri casi, il cmdlet non genera alcun output.

Esempio 1

C:\PS>new-variable days

Descrizione
-----------
Con questo comando verrà creata una nuova variabile denominata "days", cui non verrà assegnato nessun valore subito dopo il comando.






Esempio 2

C:\PS>new-variable zipcode -value 98033

Descrizione
-----------
Tramite questo comando verrà creata una variabile denominata "zipcode" cui verrà assegnato il valore "98033".






Esempio 3

C:\PS>new-variable -name max -value 256 -option readonly

new-variable -name max -value 1024

new-variable -name max -value 1024 -force

C:\PS> new-variable -name max -value 256 -option readonly

C:\PS> new-variable -name max -value 1024
New-Variable : A variable with name 'max' already exists.
At line:1 char:13
+ new-variable <<<<  -name max -value 1024

C:\PS> new-variable -name max -value 1024 -force

Descrizione
-----------
In questo esempio viene illustrato come utilizzare l'opzione ReadOnly di New-Variable per proteggere una variabile dalla sovrascrittura.

Il primo comando crea una nuova variabile denominata Max e imposta il valore su "256". Viene utilizzato il parametro Option con un valore di ReadOnly.

Il secondo comando tenta di creare una seconda variabile con lo stesso nome. Questo comando restituisce un errore, perché la variabile è impostata in sola lettura.

Nel terzo comando viene utilizzato il parametro Force per eseguire l'override della protezione di sola lettura nella variabile. In questo caso, il comando per creare una nuova variabile con lo stesso nome avrà esito positivo.






Esempio 4

C:\PS>new-variable -name counter -visibility private

#Effect of private variable in a module.

C:\PS> get-variable c*

Name                           Value
----                           -----
Culture                        en-US
ConsoleFileName
ConfirmPreference              High
CommandLineParameters          {}

C:\PS> $counter
"Cannot access the variable '$counter' because it is a private variable"

C:\PS> Get-Counter
Name         Value
----         -----
Counter1     3.1415
...

Descrizione
-----------
Con questo comando viene illustrato il comportamento di una variabile privata in un modulo. Il modulo contiene il cmdlet Get-Counter che dispone di una variabile privata denominata "Counter". Viene utilizzato il parametro Visibility con il valore "Private" per creare la variabile.

Nell'output dell'esempio viene illustrato il comportamento di una variabile privata. L'utente che ha caricato il modulo non può visualizzare né modificare il valore della variabile Counter, ma è possibile leggere e modificare questa variabile mediante i comandi nel modulo.






Vedere anche




Argomenti della Guida