Partager via


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 de commande Set-Item 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 pour que l’heure s’affiche 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 pour la fonction « prompt ». Cette commande utilise le paramètre dynamique Options de Set-Item. Le paramètre Options est disponible dans Set-Item uniquement lorsque vous l’utilisez avec le fournisseur Alias ou Fonction.

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

Paramètres

-Confirm

Vous invite à confirmer 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. Saisissez un élément de chemin ou un modèle, tel que *.txt. Les caractères génériques sont autorisés. Le paramètre Exclure est efficace uniquement lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*, où le caractère générique spécifie le contenu du répertoire C:\Windows.

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 filtrage 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 les alias constants ou les variables. L’implémentation varie du fournisseur au fournisseur. Pour plus d’informations, voir about_Providers. Même à l’aide du paramètre Force, le cmdlet 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. Saisissez un élément de chemin ou un modèle, tel que "*.txt". Les caractères génériques sont autorisés. Le paramètre Include n’est effectif que lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*, où le caractère générique spécifie le contenu du répertoire C:\Windows.

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, voir 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 Alias et Function. 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 valides sont les suivantes :

  • 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 aucune sortie.

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 le chemin vers 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 Registre et ce paramètre ne sont disponibles que sur Windows.

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

  • 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 un caractère nul qui contient des références non développées aux variables d’environnement, celles-ci étant 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 quelle forme. Utilisé pour les valeurs REG_BINARY.
  • DWord: spécifie un nombre binaire 32 bits. Utilisé pour les valeurs REG_DWORD.
  • MultiString: Spécifie un tableau de chaînes se terminant chacune par un caractère nul, et le tableau est terminé par deux caractères nuls. 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

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

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 de commande Set-Content.

  • Dans les lecteurs de Registre, HKLM: et 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 New-Item et Rename-Item.
    • Pour modifier les noms et les données dans les valeurs de Registre, utilisez les applets de commande New-ItemProperty, Set-ItemPropertyet Rename-ItemProperty.
  • 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, voir about_Providers.