Partager via


Set-ItemProperty

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

Syntaxe

propertyValuePathSet (Par défaut)

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

propertyPSObjectPathSet

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

propertyValueLiteralPathSet

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

propertyPSObjectLiteralPathSet

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 à propos des variables automatiques.

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.

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

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

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:Current user
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é:True
Valeur des arguments restants: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.

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

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

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

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, voir about_Providers.

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

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

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

Propriétés du paramètre

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

Jeux de paramètres

propertyPSObjectPathSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
propertyPSObjectLiteralPathSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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 elle est tapé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.

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
Alias:PSPath

Jeux de paramètres

propertyValueLiteralPathSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
propertyPSObjectLiteralPathSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Name

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

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
Alias:PSProperty

Jeux de paramètres

propertyValuePathSet
Position:1
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
propertyValueLiteralPathSet
Position:1
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-PassThru

Renvoie un objet qui représente la propriété de l’élément. 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: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

-Path

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

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

propertyValuePathSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
propertyPSObjectPathSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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.

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

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 propriété.

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

propertyValuePathSet
Position:2
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
propertyValueLiteralPathSet
Position:2
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
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

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, voir about_Providers.