Set-Item

Remplace la valeur d'un élément par la valeur spécifiée dans la commande.

Syntaxe

Set-Item
   [-Path] <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   -LiteralPath <String[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
Set-Item
   [-Path] <string[]>
   [[-Value] <Object>]
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-Item
   [[-Value] <Object>]
   -LiteralPath <string[]>
   [-Force]
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Description

L’applet Set-Item de commande remplace la valeur d’un élément, telle qu’une variable ou une clé de Registre, par la valeur spécifiée dans la commande.

Exemples

Exemple 1 : Créer un alias

Cette commande crée un alias de np pour le Bloc-notes.

Set-Item -Path alias:np -Value "c:\windows\notepad.exe"

Exemple 2 : Modifier la valeur d’une variable d’environnement

Cette commande modifie la valeur de la variable d’environnement UserRole en Administrateur.

Set-Item -Path env:UserRole -Value "Administrator"

Exemple 3 : Modifier votre fonction d’invite

Cette commande modifie la fonction d’invite afin qu’elle affiche l’heure avant le chemin d’accès.

Set-Item -Path function:prompt -Value {'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '}

Exemple 4 : Définir des options pour votre fonction d’invite

Cette commande définit les options AllScope et ReadOnly de la fonction d’invite. Cette commande utilise le paramètre dynamique Options de Set-Item. Le paramètre Options est disponible uniquement Set-Item lorsque vous l’utilisez avec le fournisseur Alias ou Fonction .

Set-Item -Path function:prompt -Options "AllScope,ReadOnly"

Paramètres

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Credential

Remarque

Ce paramètre n’est pas pris en charge par les fournisseurs installés avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.

Type:PSCredential
Position:Named
Valeur par défaut:Current user
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Exclude

Spécifie, en tant que tableau de chaînes, un élément ou des éléments que cette applet de commande exclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path . Entrez un élément ou un modèle de chemin d’accès, tel que *.txt. Les caractères génériques sont autorisés. Le paramètre Exclude est effectif uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*exemple, où le caractère générique spécifie le contenu du C:\Windows répertoire.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-Filter

Spécifie un filtre pour qualifier le paramètre Path . Le fournisseur FileSystem est le seul fournisseur PowerShell installé qui prend en charge l’utilisation de filtres. Vous trouverez la syntaxe du langage de filtre FileSystem dans about_Wildcards. Les filtres sont plus efficaces que d’autres paramètres, car le fournisseur les applique lorsque l’applet de commande obtient les objets plutôt que de filtrer les objets après leur récupération.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-Force

Force l’applet de commande à définir des éléments qui ne peuvent pas être modifiés autrement, tels que l’alias ou les variables en lecture seule. L’applet de commande ne peut pas modifier des alias ou variables constants. L'implémentation est différente d'un fournisseur à l'autre. Pour plus d’informations, consultez about_Providers. Même en utilisant le paramètre Force, l’applet de commande ne peut pas remplacer les restrictions de sécurité.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Include

Spécifie, sous la forme d’un tableau de chaînes, un élément ou des éléments inclus dans l’opération. La valeur de ce paramètre qualifie le paramètre Path . Entrez un élément ou un modèle de chemin d’accès, tel que "*.txt". Les caractères génériques sont autorisés. Le paramètre Include est efficace uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*exemple, où le caractère générique spécifie le contenu du C:\Windows répertoire.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-LiteralPath

Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Pour plus d’informations, consultez about_Quoting_Rules.

Type:String[]
Alias:PSPath, LP
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Options

Il s’agit d’un paramètre dynamique mis à disposition par les fournisseurs d’alias et de fonction . Pour plus d’informations, consultez about_Alias_Provider et about_Function_Provider.

Spécifie la valeur de la propriété Options d’un alias.

Les valeurs autorisées sont :

  • None: l’alias n’a aucune contrainte (valeur par défaut)
  • ReadOnly: l’alias peut être supprimé, mais ne peut pas être modifié sans utiliser le paramètre Force
  • Constant: l’alias ne peut pas être supprimé ou modifié
  • Private: l’alias est disponible uniquement dans l’étendue actuelle
  • AllScope: l’alias est copié dans toutes les nouvelles étendues créées
  • Unspecified: l’option n’est pas spécifiée
Type:ScopedItemOptions
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PassThru

Transmet un objet qui représente l’élément au pipeline. Par défaut, cette applet de commande ne génère aucun résultat.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie un chemin d’accès de l’emplacement des éléments. Les caractères génériques sont autorisés.

Type:String[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:True

-Type

Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur de Registre . Le fournisseur de Registre et ce paramètre sont disponibles uniquement sur Windows.

Spécifie le type de propriété ajouté par cette applet de commande. Les valeurs valides pour ce paramètre sont :

  • String: spécifie une chaîne terminée par null. Utilisé pour les valeurs REG_SZ .
  • ExpandString: spécifie une chaîne terminée par null qui contient des références non expirées aux variables d’environnement qui sont développées lorsque la valeur est récupérée. Utilisé pour les valeurs REG_EXPAND_SZ .
  • Binary: spécifie les données binaires sous n’importe quel formulaire. Utilisé pour les valeurs REG_BINARY .
  • DWord: spécifie un nombre binaire 32 bits. Utilisé pour REG_DWORD valeurs.
  • MultiString: spécifie un tableau de chaînes terminées par null terminées par deux caractères Null. Utilisé pour les valeurs REG_MULTI_SZ .
  • Qword: spécifie un nombre binaire 64 bits. Utilisé pour les valeurs REG_QWORD .
  • Unknown: indique un type de données de Registre non pris en charge, tel que des valeurs REG_RESOURCE_LIST .
Type:RegistryValueKind
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Value

Spécifie une nouvelle valeur pour l’élément.

Type:Object
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques: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
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

Object

Vous pouvez diriger un objet qui représente la nouvelle valeur de l’élément vers cette applet de commande.

Sorties

None

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

Object

Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne un objet représentant l’élément.

Notes

PowerShell inclut les alias suivants pour Set-Item:

  • Toutes les plateformes :

    • si
  • Set-Item n’est pas pris en charge par le fournisseur PowerShell FileSystem. Pour modifier les valeurs des éléments dans le système de fichiers, utilisez l’applet Set-Content de commande.

  • Dans les lecteurs du Registre et HKLM: HKCU:, Set-Item modifie les données dans la valeur (par défaut) d’une clé de Registre.

    • Pour créer et modifier les noms des clés de Registre, utilisez l’applet de commande et Rename-Item l’applet New-Item de commande.
    • Pour modifier les noms et les données dans les valeurs de Registre, utilisez les applets de commande , Set-ItemPropertyet Rename-ItemProperty les New-ItemPropertyapplets de commande.
  • Set-Item est conçu pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PsProvider. Pour plus d’informations, consultez about_Providers.