New-Variable
Crée une variable.
Syntax
New-Variable
[-Name] <String>
[[-Value] <Object>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Visibility <SessionStateEntryVisibility>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet New-Variable
de commande crée une variable dans PowerShell. Vous pouvez assigner une valeur à la variable durant sa création, ou changer sa valeur après sa création.
Vous pouvez utiliser les paramètres de New-Variable
pour définir les propriétés de la variable, définir l’étendue d’une variable et déterminer si les variables sont publiques ou privées.
En règle générale, vous créez une variable en tapant le nom de la variable et sa valeur, par $Var = 3
exemple , mais vous pouvez utiliser l’applet de New-Variable
commande pour utiliser ses paramètres.
Exemples
Exemple 1 : Create une variable
New-Variable days
Cette commande crée une variable nommée days. Vous n’êtes pas obligé de taper le paramètre Name .
Exemple 2 : Create une variable et lui attribuer une valeur
New-Variable -Name "zipcode" -Value 98033
Cette commande crée une variable nommée zipcode et lui attribue la valeur 98033.
Exemple 3 : Create une variable avec l’option ReadOnly
PS C:\> New-Variable -Name Max -Value 256 -Option ReadOnly
PS C:\> New-Variable -Name max -Value 1024
New-Variable : A variable with name 'max' already exists.
At line:1 char:1
+ New-Variable -Name max -Value 1024
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (max:String) [New-Variable], SessionStateException
+ FullyQualifiedErrorId : VariableAlreadyExists,Microsoft.PowerShell.Commands.NewVariableCommand
PS C:\> New-Variable -Name max -Value 1024 -Force
Cet exemple montre comment utiliser l’option ReadOnly
de New-Variable
pour protéger une variable contre le remplacement.
La première commande crée une variable nommée Max et définit sa valeur sur 256. Il utilise le paramètre Option avec la valeur .ReadOnly
La deuxième commande tente de créer une deuxième variable portant le même nom. Cette commande retourne une erreur, car l'option lecture seule est définie sur la variable.
La troisième commande utilise le paramètre Force pour remplacer la protection en lecture seule sur la variable. Dans ce cas, la commande qui permet de créer une variable portant le même nom aboutit.
Exemple 4 : Affecter plusieurs options à une variable
New-Variable -Name 'TestVariable' -Value 'Test Value' -Option AllScope,Constant
Cet exemple montre comment créer une variable et affecter les AllScope
options et Constant
afin que la variable soit disponible dans l’étendue actuelle et toutes les nouvelles étendues créées et ne puissent pas être modifiées ou supprimées.
Exemple 5 : Create une variable privée
Cette commande montre le comportement d'une variable privée dans un module. Le module contient l’applet de Get-Counter
commande, qui a une variable privée nommée Counter. La commande utilise le paramètre Visibility avec la valeur Private pour créer la variable.
PS C:\> New-Variable -Name counter -Visibility Private
#Effect of private variable in a module.
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"
At line:1 char:1
+ $counter
+ ~~~~~~~~
+ CategoryInfo : PermissionDenied: (counter:String) [], SessionStateException
+ FullyQualifiedErrorId : VariableIsPrivate
PS C:\> Get-Counter
Name Value
---- -----
Counter1 3.1415
...
L'exemple de sortie montre le comportement d'une variable privée. L'utilisateur qui a chargé le module ne peut pas afficher ou changer la valeur de la variable Counter. Toutefois, la variable Counter peut être lue et changée par les commandes du module.
Exemple 6 : Create une variable avec un espace
Cet exemple montre que des variables avec des espaces peuvent être créées. Les variables sont accessibles à l’aide de l’applet Get-Variable
de commande ou directement en délimitant une variable avec des accolades.
PS C:\> New-Variable -Name 'with space' -Value 'abc123xyz'
PS C:\> Get-Variable -Name 'with space'
Name Value
---- -----
with space abc123xyz
PS C:\> ${with space}
abc123xyz
Paramètres
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Spécifie une description de la variable.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Indique que l’applet de commande crée une variable portant le même nom qu’une variable existante en lecture seule.
Par défaut, vous pouvez remplacer une variable, sauf si la variable a une valeur d’option de ReadOnly
ou Constant
. Pour plus d’informations, consultez le paramètre Option .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Spécifie le nom de la nouvelle variable.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Option
Spécifie la valeur de la propriété Options de la variable. Les valeurs valides pour ce paramètre sont :
None
- Ne définit aucune option.None
est la valeur par défaut.ReadOnly
- Peut être supprimé. Impossible de modifier, sauf à l’aide du paramètre Force .Private
- La variable est disponible uniquement dans l’étendue actuelle.AllScope
- La variable est copiée dans toutes les nouvelles étendues créées.Constant
- Impossible de supprimer ou de modifier.Constant
est valide uniquement lorsque vous créez une variable. Vous ne pouvez pas modifier les options d’une variable existante enConstant
.
Ces valeurs sont définies comme une énumération basée sur un indicateur. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être passées au paramètre Option sous la forme d’un tableau de valeurs ou d’une chaîne séparée par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la saisie semi-automatique sur les valeurs.
Pour afficher la propriété Options de toutes les variables de la session, tapez Get-Variable | Format-Table -Property name, options -AutoSize
.
Type: | ScopedItemOptions |
Accepted values: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Retourne un objet représentant l’élément que vous utilisez. Par défaut, cette applet de commande ne génère aucun résultat.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Spécifie l’étendue de la nouvelle variable. Les valeurs valides pour ce paramètre sont :
Global
- Les variables créées dans l’étendue globale sont accessibles partout dans un processus PowerShell.Local
- L’étendue locale fait référence à l’étendue actuelle, il peut s’agir de n’importe quelle étendue en fonction du contexte.Local
est l’étendue par défaut lorsque le paramètre d’étendue n’est pas spécifié.Script
- Les variables créées dans l’étendue du script sont accessibles uniquement dans le fichier de script ou le module dans lequel elles sont créées.- Nombre relatif à l’étendue actuelle (0 par le nombre d’étendues, où 0 est l’étendue actuelle, 1 est son parent, 2 le parent de l’étendue parente, et ainsi de suite). Les nombres négatifs ne peuvent pas être utilisés.
Notes
Le paramètre accepte également la valeur de Private
. Private
n’est pas en fait une étendue, mais un paramètre facultatif pour une variable. Toutefois, l’utilisation de la Private
valeur avec cette applet de commande ne modifie pas la visibilité de la variable. Pour plus d’informations, consultez about_Scopes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Spécifie la valeur initiale de la variable.
Type: | Object |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Visibility
Détermine si la variable est visible en dehors de la session dans laquelle elle a été créée. Ce paramètre est conçu pour être utilisé dans des scripts et des commandes qui seront remis à d’autres utilisateurs. Les valeurs valides pour ce paramètre sont :
Public
- La variable est visible.Public
est la valeur par défaut.Private
- La variable n’est pas visible.
Lorsqu’une variable est privée, elle n’apparaît pas dans les listes de variables, telles que celles retournées par Get-Variable
, ou dans les affichages du Variable:
lecteur. Les commandes pour lire ou modifier la valeur d'une variable privée retournent une erreur. Toutefois, l'utilisateur peut exécuter des commandes qui utilisent une variable privée si les commandes ont été écrites dans la session dans laquelle la variable a été définie.
Type: | SessionStateEntryVisibility |
Accepted values: | Public, Private |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger n’importe quel objet vers New-Variable
.
Sorties
None
Par défaut, cette applet de commande ne retourne aucune sortie.
Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne un objet PSVariable représentant la nouvelle variable.
Notes
PowerShell inclut les alias suivants pour New-Variable
:
- Toutes les plateformes :
nv