Set-ItemProperty

Crea o cambia el valor de una propiedad de un elemento.

Syntax

Set-ItemProperty
   [-Path] <string[]>
   [-Name] <string>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   [-Name] <string>
   [-Value] <Object>
   -LiteralPath <string[]>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   [-Name] <string>
   [-Value] <Object>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Path] <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   [-Name] <string>
   [-Value] <Object>
   -LiteralPath <string[]>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]
Set-ItemProperty
   -LiteralPath <string[]>
   -InputObject <psobject>
   [-PassThru]
   [-Force]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Type <RegistryValueKind>]
   [<CommonParameters>]

Description

El Set-ItemProperty cmdlet cambia el valor de la propiedad del elemento especificado. El cmdlet se puede utilizar para establecer o cambiar las propiedades de elementos. Por ejemplo, puede usar Set-ItemProperty para establecer el valor de la propiedad IsReadOnly de un objeto de archivo en $True.

También se usa Set-ItemProperty para crear y cambiar los valores y los datos del Registro. Por ejemplo, se puede agregar una nueva entrada del Registro a una clave y establecer o cambiar su valor.

Ejemplos

Ejemplo 1: Establecer una propiedad de un archivo

Este comando establece el valor de la propiedad IsReadOnly del archivo "final.doc" en "true". Usa Path para especificar el archivo, Name para especificar el nombre de la propiedad y el parámetro Value para especificar el nuevo valor.

El archivo es un objeto System.IO.FileInfo y IsReadOnly es solo una de sus propiedades. Para ver todas las propiedades, escriba Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

La $true variable automática representa un valor de "TRUE". Para obtener más información, vea about_Automatic_Variables.

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

Ejemplo 2: Crear una entrada y un valor del Registro

En este ejemplo se muestra cómo usar Set-ItemProperty para crear una nueva entrada del Registro y asignar un valor a la entrada. Crea la entrada "NoOfEmployees" en la clave "ContosoCompany" en clave y establece su valor en HKLM\Software 823.

Dado que las entradas del Registro se consideran propiedades de las claves del Registro, que son elementos, se usa Set-ItemProperty para crear entradas del Registro y para establecer y cambiar sus valores.

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

El primer comando crea la entrada del Registro. Usa Path para especificar la ruta de acceso de la HKLM: unidad y la Software\MyCompany clave. El comando usa Name para especificar el nombre de entrada y Value para especificar un valor.

El segundo comando usa el Get-ItemProperty cmdlet para ver la nueva entrada del Registro. Si usa los Get-Item cmdlets o Get-ChildItem , las entradas no aparecen porque son propiedades de una clave, no elementos o elementos secundarios.

El tercer comando cambia el valor de la entrada NoOfEmployees a 824.

También puede usar el New-ItemProperty cmdlet para crear la entrada del Registro y su valor y, a continuación, usar Set-ItemProperty para cambiar el valor.

Para obtener más información sobre la HKLM: unidad, escriba Get-Help Get-PSDrive. Para obtener más información sobre cómo usar PowerShell para administrar el registro, escriba Get-Help Registry.

Ejemplo 3: Modificación de un elemento mediante la canalización

Th example uses Get-ChildItem to get the weekly.txt file. El objeto de archivo se canaliza a Set-ItemProperty. El Set-ItemProperty comando usa los parámetros Name y Value para especificar la propiedad y su nuevo valor.

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

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Nota:

Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar las credenciales al ejecutar este cmdlet, use Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Especifica, como matriz de cadenas, un elemento o elementos que este cmdlet excluye en la operación. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt. Se permite el uso de caracteres comodín. El parámetro Exclude solo es efectivo cuando el comando incluye el contenido de un elemento, como C:\Windows\*, donde el carácter comodín especifica el contenido del C:\Windows directorio.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Especifica un filtro para calificar el parámetro Path . El proveedor FileSystem es el único proveedor de PowerShell instalado que admite el uso de filtros. Puede encontrar la sintaxis del lenguaje de filtro FileSystem en about_Wildcards. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica cuando el cmdlet obtiene los objetos en lugar de que PowerShell filtre los objetos una vez recuperados.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Obliga al cmdlet a establecer una propiedad en elementos a los que el usuario no puede tener acceso de otro modo. La implementación varía según el proveedor. Para obtener más información, consulte about_Providers.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Especifica, como matriz de cadenas, un elemento o elementos que este cmdlet incluye en la operación. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín. El parámetro Include solo es efectivo cuando el comando incluye el contenido de un elemento, como C:\Windows\*, donde el carácter comodín especifica el contenido del C:\Windows directorio.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Especifica el objeto que tiene las propiedades que cambia este cmdlet. Introduzca una variable que contenga el objeto o un comando que obtenga el objeto.

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Especifica una ruta de acceso a una o varias ubicaciones. El valor de LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso contiene caracteres de escape, escríbalos entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Para obtener más información, consulte about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica el nombre de la propiedad.

Type:String
Aliases:PSProperty
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Devuelve un objeto que representa la propiedad item. De forma predeterminada, este cmdlet no genera ningún resultado.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Especifica la ruta de acceso de los elementos con la propiedad que se va a modificar. Se permite el uso de caracteres comodín.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Type

Se trata de un parámetro dinámico que el proveedor del Registro pone a disposición. El proveedor del Registro y este parámetro solo están disponibles en Windows.

Especifica el tipo de propiedad que agrega este cmdlet. Los valores permitidos para este parámetro son los siguientes:

  • String: especifica una cadena terminada en NULL. Se usa para los valores de REG_SZ .
  • ExpandString: especifica una cadena terminada en null que contiene referencias no expandidas a variables de entorno que se expanden cuando se recupera el valor. Se usa para los valores de REG_EXPAND_SZ .
  • Binary: especifica datos binarios en cualquier forma. Se usa para los valores de REG_BINARY .
  • DWord: especifica un número binario de 32 bits. Se usa para los valores de REG_DWORD .
  • MultiString: especifica una matriz de cadenas terminadas en NULL terminadas en dos caracteres NULL. Se usa para los valores de REG_MULTI_SZ .
  • Qword: especifica un número binario de 64 bits. Se usa para los valores de REG_QWORD .
  • Unknown: indica un tipo de datos del Registro no admitido, como REG_RESOURCE_LIST valores.
Type:RegistryValueKind
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Especifica el valor de la propiedad.

Type:Object
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSObject

Puede canalizar objetos a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

PSCustomObject

Cuando se usa el parámetro PassThru , este cmdlet devuelve un objeto PSCustomObject que representa el elemento que se cambió y su nuevo valor de propiedad.

Notas

PowerShell incluye los siguientes alias para Set-ItemProperty:

  • Todas las plataformas:
    • sp

Set-ItemProperty está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PSProvider. Para obtener más información, consulte about_Providers.