Partager via


Set-Variable

Définit la valeur d’une variable. Crée la variable si l’une avec le nom demandé n’existe pas.

Syntaxe

Default (Par défaut)

Set-Variable
    [-Name] <String[]>
    [[-Value] <Object>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Description <String>]
    [-Option <ScopedItemOptions>]
    [-Force]
    [-Visibility <SessionStateEntryVisibility>]
    [-PassThru]
    [-Scope <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet Set-Variable de commande affecte une valeur à une variable spécifiée ou modifie la valeur actuelle. Si la variable n’existe pas, l’applet de commande la crée.

Exemples

Exemple 1 : Définir une variable et obtenir sa valeur

Ces commandes définissent la valeur de la $desc variable A descriptionsur , puis obtient la valeur de la variable.

Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name                           Value
----                           -----
desc                           A description

Exemple 2 : Définir une variable globale en lecture seule

Cet exemple crée une variable globale en lecture seule qui contient tous les processus sur le système, puis affiche toutes les propriétés de la variable.

Set-Variable -Name "processes" -Value (Get-Process) -Option Constant -Scope Global -Description "All processes" -PassThru |
    Format-List -Property *

La commande utilise l’applet Set-Variable de commande pour créer la variable. Il utilise le paramètre PassThru pour créer un objet représentant la nouvelle variable et utilise l’opérateur de pipeline (|) pour transmettre l’objet à l’applet Format-List de commande. Il utilise le paramètre Property d’avec Format-List une valeur de tous (*) pour afficher toutes les propriétés de la variable nouvellement créée.

La valeur, est (Get-Process)placée entre parenthèses pour s’assurer qu’elle est exécutée avant d’être stockée dans la variable. Sinon, la variable contient les mots Get-Process.

Exemple 3 : Comprendre les variables publiques et privées

Cet exemple montre comment modifier la visibilité d’une variable en Private. Cette variable peut être lue et modifiée par des scripts avec les autorisations requises, mais elle n’est pas visible pour l’utilisateur.

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.

Cette commande montre comment modifier la visibilité d’une variable en private. Cette variable peut être lue et modifiée par des scripts avec les autorisations requises, mais elle n’est pas visible pour l’utilisateur.

Paramètres

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Description

Spécifie la description de la variable.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Exclude

Spécifie un tableau d’éléments que cette applet de commande exclut de l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément de chemin ou un modèle, tel que *.txt. Les caractères génériques sont autorisés.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Force

Vous permet de créer une variable portant le même nom qu’une variable en lecture seule existante ou de modifier la valeur d’une variable en lecture seule.

Par défaut, vous pouvez remplacer une variable, sauf si la variable a une valeur d’option ou ReadOnlyConstant. Pour plus d’informations, consultez le paramètre option .

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Include

Spécifie un tableau d’éléments inclus dans cette applet de commande dans l’opération. La valeur de ce paramètre qualifie le paramètre Name. Entrez un nom ou un modèle de nom, tel que c*. Les caractères génériques sont autorisés.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Name

Spécifie le nom de la variable.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Option

Spécifie la valeur de la propriété Options de la variable.

Les valeurs valides sont les suivantes :

  • None: définit aucune option. (None est la valeur par défaut.)
  • ReadOnly: peut être supprimé. Impossible de modifier, sauf en utilisant le paramètre Force.
  • 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 en Constant.
  • Private: la variable est disponible uniquement dans l’étendue actuelle.
  • AllScope: la variable est copiée dans toutes les nouvelles étendues créées.

Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être transmises au paramètre Option en tant que tableau de valeurs ou sous forme de chaîne séparées 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 complétion par tabulation pour les valeurs.

Propriétés du paramètre

Type:ScopedItemOptions
Valeur par défaut:None
Valeurs acceptées:None, ReadOnly, Constant, Private, AllScope, Unspecified
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PassThru

Retourne un objet représentant la nouvelle variable. Par défaut, cette applet de commande ne génère aucune sortie.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Scope

Spécifie l’étendue de la variable. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Global
  • Local
  • Script
  • Private
  • Nombre relatif à l’étendue actuelle (0 au nombre d’étendues, où 0 est l’étendue actuelle et 1 est son parent).

Local est la valeur par défaut.

Pour plus d’informations, consultez about_Scopes.

Propriétés du paramètre

Type:String
Valeur par défaut:Local
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Value

Spécifie la valeur de la variable.

Propriétés du paramètre

Type:Object
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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 les scripts et les commandes qui seront remis à d’autres utilisateurs.

Les valeurs valides sont les suivantes :

  • 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 des listes de variables, telles que celles retournées par Get-Variable, ou dans les affichages de la variable : lecteur. Les commandes permettant de lire ou de 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.

Propriétés du paramètre

Type:SessionStateEntryVisibility
Valeur par défaut:Public
Valeurs acceptées:Public, Private
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

Object

Vous pouvez diriger un objet représentant la valeur de la variable vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

PSVariable

Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne un objet PSVariable représentant la variable nouvelle ou modifiée.

Notes

PowerShell inclut les alias suivants pour Set-Variable:

  • Toutes les plateformes :
    • set
    • sv