Leer en inglés

Compartir a través de


Set-ItemProperty

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

Sintaxis

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

Description

El cmdlet Set-ItemProperty cambia el valor de la propiedad del elemento especificado. Puede usar el cmdlet para establecer o cambiar las propiedades de los elementos. Por ejemplo, puede usar Set-ItemProperty para establecer el valor del IsReadOnly propiedad 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, 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 ruta de acceso para especificar el archivo, Nombre 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 variable automática $true representa un valor de "TRUE". Para obtener más información, vea about_Automatic_Variables.

PowerShell
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 HKLM\Software clave y establece su valor en 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 establecer y cambiar sus valores.

PowerShell
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 ruta de acceso para especificar la ruta de acceso de la unidad de HKLM: y la clave Software\MyCompany. El comando usa Nombre para especificar el nombre de entrada y Valor para especificar un valor.

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

El tercer comando cambia el valor del NoOfEmployees entrada a 824.

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

Para obtener más información sobre la unidad de HKLM:, 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

En el ejemplo se usa Get-ChildItem para obtener el archivo weekly.txt. El objeto de archivo se canaliza a Set-ItemProperty. El comando Set-ItemProperty usa los parámetros Name y Value para especificar la propiedad y su nuevo valor.

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

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:PSCredential
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín: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 permiten 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 directorio C:\Windows.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Filter

Especifica un filtro para calificar el parámetro Path. El proveedor de FileSystem es el único proveedor de PowerShell instalado que admite el uso de filtros. Puede encontrar la sintaxis del lenguaje de filtro de 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.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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, vea about_Providers.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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 permiten 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 directorio C:\Windows.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-InputObject

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

Tipo:PSObject
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-LiteralPath

Especifica una ruta de acceso a una o varias ubicaciones. El valor de LiteralPath se usa exactamente como se escribe. No se interpreta ningún carácter como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala 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, vea about_Quoting_Rules.

Tipo:String[]
Alias:PSPath, LP
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Especifica el nombre de la propiedad .

Tipo:String
Alias:PSProperty
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PassThru

Devuelve un objeto que representa la propiedad item. De forma predeterminada, este cmdlet no genera ninguna salida.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

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

Tipo:String[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-Type

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

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

  • 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 formato. 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 REG_QWORD valores.
  • Unknown: indica un tipo de datos del Registro no admitido, como REG_RESOURCE_LIST valores.
Tipo:RegistryValueKind
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Value

Especifica el valor de la propiedad .

Tipo:Object
Posición:2
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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, vea about_Providers.