Set-ItemProperty
Crea o cambia el valor de una propiedad de un elemento.
Sintaxis
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.
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 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.
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 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.
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, consulte 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 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.
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. Introduzca una variable que contenga el objeto o un comando que obtenga 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. 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.
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 ningún resultado.
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 permite el uso de 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 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.
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 se ejecutara el cmdlet. 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
Puede canalizar objetos a este cmdlet.
Salidas
None
De forma predeterminada, este cmdlet no devuelve ninguna salida.
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.