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