Partager via


Set-ItemProperty

Crée ou modifie la valeur d’une propriété d’un élément.

Syntaxe

Set-ItemProperty
   [-Path] <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <String[]>
   -InputObject <PSObject>
   [-PassThru]
   [-Force]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]

Description

L’applet de commande Set-ItemProperty modifie la valeur de la propriété de l’élément spécifié. Vous pouvez utiliser l’applet de commande pour établir ou modifier les propriétés des éléments. Par exemple, vous pouvez utiliser Set-ItemProperty pour définir la valeur de la propriété IsReadOnly d’un objet de fichier sur $True.

Vous utilisez également Set-ItemProperty pour créer et modifier les valeurs et données du Registre. Par exemple, vous pouvez ajouter une nouvelle entrée de Registre à une clé et établir ou modifier sa valeur.

Exemples

Exemple 1 : Définir une propriété d’un fichier

Cette commande définit la valeur de la propriété IsReadOnly du fichier « final.doc » sur « true ». Il utilise chemin d’accès pour spécifier le fichier, Name pour spécifier le nom de la propriété et le paramètre Value pour spécifier la nouvelle valeur.

Le fichier est un objet System.IO.FileInfo et IsReadOnly n’est qu’une de ses propriétés. Pour afficher toutes les propriétés, tapez Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

La variable automatique $true représente une valeur de « TRUE ». Pour plus d’informations, consultez about_Automatic_Variables.

Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true

Exemple 2 : Créer une entrée et une valeur de Registre

Cet exemple montre comment utiliser Set-ItemProperty pour créer une entrée de Registre et affecter une valeur à l’entrée. Il crée l’entrée « NoOfEmployees » dans la clé « ContosoCompany » dans la clé « HKLM\Software » et définit sa valeur sur 823.

Étant donné que les entrées de Registre sont considérées comme des propriétés des clés de Registre, qui sont des éléments, vous utilisez Set-ItemProperty pour créer des entrées de Registre et pour établir et modifier leurs valeurs.

La première commande crée l’entrée de Registre. Il utilise chemin d’accès pour spécifier le chemin du lecteur HKLM: et la clé « Software\MyCompany ». La commande utilise Nom pour spécifier le nom de l’entrée et Valeur pour spécifier une valeur.

La deuxième commande utilise l’applet de commande Get-ItemProperty pour afficher la nouvelle entrée de Registre. Si vous utilisez les applets de commande Get-Item ou Get-ChildItem, les entrées ne s’affichent pas, car elles sont des propriétés d’une clé, pas d’éléments ou d’éléments enfants.

La troisième commande modifie la valeur de l’entrée NoOfEmployees 824.

Vous pouvez également utiliser l’applet de commande New-ItemProperty pour créer l’entrée de Registre et sa valeur, puis utiliser Set-ItemProperty pour modifier la valeur.

Pour plus d’informations sur le lecteur HKLM:, tapez Get-Help Get-PSDrive. Pour plus d’informations sur l’utilisation de PowerShell pour gérer le Registre, tapez Get-Help Registry.

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823

Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"

PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName   : contosocompany
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824

Exemple 3 : Modifier un élément à l’aide du pipeline

Ces commandes montrent comment utiliser un opérateur de pipeline (|) pour envoyer un élément à Set-ItemProperty.

La première partie de la commande utilise Get-ChildItem pour obtenir un objet qui représente le fichier «Weekly.txt». La commande utilise un opérateur de pipeline pour envoyer l’objet de fichier à Set-ItemProperty. La commande utilise les paramètres name et Value pour spécifier la propriété et sa nouvelle valeur.

Cette commande équivaut à utiliser le paramètre InputObject pour spécifier l’objet qui Get-ChildItem obtient.

Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True

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

Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel.

Tapez un nom d’utilisateur, tel que « User01 » ou « Domain01\User01 », ou entrez un objet PSCredential, tel qu’un objet généré par l’applet de commande Get-Credential. Si vous tapez un nom d’utilisateur, vous êtes invité à entrer un mot de passe.

Avertissement

Ce paramètre n’est pas pris en charge par les fournisseurs installés avec Windows PowerShell.

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 les éléments sur lesquels l’applet de commande n’agit pas et inclut tous les autres. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément de chemin d’accès ou un modèle, tel que « *.txt». Les caractères génériques sont autorisés.

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:False

-Filter

Spécifie un filtre dans le format ou la langue du fournisseur. La valeur de ce paramètre qualifie le paramètre Path.

La syntaxe du filtre, y compris l’utilisation de caractères génériques, dépend du fournisseur. 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 une propriété sur les éléments qui ne peuvent pas être accessibles par l’utilisateur. L’implémentation varie du fournisseur au fournisseur. Pour plus d’informations, consultez about_Providers.

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 uniquement les éléments sur lesquels l’applet de commande agit, ce qui exclut tous les autres. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément de chemin d’accès ou un modèle, tel que « *.txt». Les caractères génériques sont autorisés.

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:False

-InputObject

Spécifie l’objet qui a les propriétés modifiées par cette applet de commande. Entrez une variable qui contient l’objet ou une commande qui obtient l’objet.

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

-LiteralPath

Spécifie un chemin d’accès de la propriété d’élément. Contrairement au paramètre Path , la valeur de LiteralPath est utilisée exactement comme il est typé. Aucun caractère n’est interprété comme des caractères génériques. Si le chemin inclut des caractères d’échappement, placez-le entre guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

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

-Name

Spécifie le nom de la propriété.

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

-PassThru

Renvoie un objet qui représente la propriété d’élément. Par défaut, cette applet de commande ne génère aucune sortie.

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

-Path

Spécifie le chemin des éléments avec la propriété à modifier.

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:False

-UseTransaction

Inclut la commande dans la transaction active. Ce paramètre est valide uniquement lorsqu’une transaction est en cours. Pour plus d’informations, consultez about_Transactions.

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

-Value

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

Type:Object
Position:2
Valeur par défaut:None
Obligatoire:True
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’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

PSObject

Vous pouvez diriger des objets vers cette applet de commande.

Sorties

None, System.Management.Automation.PSCustomObject

Cette applet de commande génère un objet PSCustomObject qui représente l’élément qui a été modifié et sa nouvelle valeur de propriété, si vous spécifiez le paramètre passThru . Sinon, cette applet de commande ne génère aucune sortie.

Notes

Set-ItemProperty 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.