Crea o cambia el valor de una propiedad de un elemento.
Sintaxis
Set-ItemProperty [-LiteralPath] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Set-ItemProperty [-Path] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Set-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Set-ItemProperty [-Path] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Descripción
El cmdlet Set-ItemProperty cambia el valor de la propiedad del elemento especificado. Puede utilizar el cmdlet para establecer o cambiar las propiedades de elementos. Por ejemplo, puede utilizar Set-ItemProperty para establecer el valor de la propiedad IsReadOnly de un objeto de archivo en true.
También puede utiliza Set-ItemProperty para crear y cambiar datos y valores del Registro. Por ejemplo, puede agregar una nueva entrada del Registro a una clave y establecer o cambiar su valor.
Parámetros
-Credential <PSCredential>
Especifica una cuenta de usuario con permiso para realizar esta acción. El valor predeterminado es el usuario actual.
Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedirá una contraseña.
Este parámetro no es compatible con los proveedores que se instalan con Windows PowerShell.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Exclude <string[]>
Especifica los elementos sobre los que no actuará el cmdlet e incluye todos los demás elementos.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Filter <string>
Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parámetro califica el parámetro Path. La sintaxis del filtro, incluido el uso de caracteres comodín, depende del proveedor. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica al recuperar los objetos en lugar de hacer que Windows PowerShell filtre los objetos después de recuperarlos.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Force
Permite al cmdlet establecer una propiedad de elementos a los que el usuario no puede obtener acceso de ningún otro modo. La implementación varía según el proveedor. Para obtener más información, vea about_Providers.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Include <string[]>
Especifica únicamente aquellos elementos sobre los que actuará el cmdlet, y excluye a todos los demás.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-InputObject <psobject>
Especifica el objeto que tiene las propiedades que se van a cambiar. Indique la variable que contiene el objeto o escriba un comando que lo obtenga.
¿Requerido? |
true |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue, ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-LiteralPath <string[]>
Especifica la ruta de la propiedad del elemento. El valor de LiteralPath se usa literalmente como se escribe. Ningún carácter se interpretará como un carácter comodín. Si la ruta incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a Windows PowerShell que no debe interpretar los caracteres como secuencias de escape.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Name <string>
Especifica el nombre de la propiedad.
¿Requerido? |
true |
¿Posición? |
2 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-PassThru
Devuelve un objeto que representa la propiedad del elemento. De forma predeterminada, este cmdlet no genera resultados.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Path <string[]>
Especifica la ruta de los elementos que tienen la propiedad que se va a establecer.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Value <Object>
Especifica el valor de la propiedad.
¿Requerido? |
true |
¿Posición? |
3 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Confirm
Solicita confirmación antes de ejecutar el comando.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-WhatIf
Describe lo que ocurriría si ejecutara el comando sin ejecutarlo realmente.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro solo es válido cuando hay una transacción en curso. Para obtener más información, vea about_Transactions.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.Management.Automation.PSObject Puede canalizar objetos a Set-ItemProperty. |
Salidas |
Ninguno o System.Management.Automation.PSCustomObject Cuando se utiliza el parámetro PassThru, Set-ItemProperty genera un objeto PSCustomObject que representa el elemento modificado y su nuevo valor de propiedad. En caso contrario, este cmdlet no genera resultados. |
Notas
El cmdlet Set-ItemProperty está diseñado de modo que funcione con los datos expuestos por cualquier proveedor. Para mostrar los proveedores que están disponibles en la sesión, escriba "Get-PSProvider". Para obtener más información, vea about_Providers.
Ejemplo 1
C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly -value $true Descripción ----------- Este comando establece el valor de la propiedad IsReadOnly del archivo final.doc en true. El comando utiliza el cmdlet Set-ItemProperty para cambiar el valor de la propiedad del archivo final.doc. Usa el parámetro Path para especificar el archivo. Usa el parámetro Name para especificar el nombre de la propiedad y el parámetro Value para especificar el nuevo valor. La variable automática $true representa un valor TRUE. Para obtener más información, vea about_Automatic_Variables. El archivo es un objeto System.IO.FileInfo y la propiedad IsReadOnly es una de sus propiedades. Para ver todos los métodos y propiedades de un objeto FileInfo, canalice el archivo al cmdlet Get-Member. Por ejemplo, "final.doc | get-member".
Ejemplo 2
C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 823 C:\PS>get-itemproperty -path HKLM:\Software\MyCompany PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software PSChildName : mycompany PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry NoOfLocations : 2 NoOfEmployees : 823 C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 824 C:\PS>get-itemproperty -path HKLM:\Software\MyCompany PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software PSChildName : mycompany PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry NoOfLocations : 2 NoOfEmployees : 824 Descripción ----------- En este ejemplo, se muestra cómo utilizar Set-ItemProperty para crear una nueva entrada del Registro y asignar un valor a la entrada. Crea la entrada NoOfEmployees de la clave MyCompany en la clave HKLM\Software y establece su valor en 823. Dado que se considera que las entradas del Registro son propiedades de las claves del Registro (que son elementos), se debe utilizar Set-ItemProperty para crear entradas del Registro y para establecer y cambiar sus valores. El primer comando utiliza el cmdlet Set-ItemProperty para crear la entrada del Registro. Utiliza el parámetro Path para especificar la ruta de acceso a la unidad HKLM: y la clave Software\MyCompany. Utiliza el parámetro Name para especificar el nombre de la entrada y el parámetro Value para especificar un valor. El segundo comando usa el cmdlet Get-ItemProperty para ver la nueva entrada del Registro. Si utiliza el cmdlet Get-Item o Get-ChildItem, las entradas no aparecerán porque son propiedades de una clave; no son elementos ni elementos secundarios. El tercer comando cambia el valor de la entrada NoOfEmployees a 824. También puede utilizar el cmdlet New-ItemProperty para crear la entrada del Registro y su valor, y a continuación, utilizar Set-ItemProperty para cambiar el valor. Para obtener más información sobre la unidad HKLM:, escriba "get-help get-psdrive". Para obtener más información sobre cómo se utiliza Windows PowerShell para administrar el Registro, escriba "get-help registry".
Ejemplo 3
C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly -value $true Descripción ----------- Estos comandos muestran cómo utilizar un operador de canalización (|) para enviar un elemento a Set-ItemProperty. La primera parte del comando usa el cmdlet Get-ChildItem para obtener un objeto que representa el archivo Weekly.txt. El comando utiliza un operador de canalización para enviar el objeto de archivo a Set-ItemProperty. El comando Set-ItemProperty utiliza los parámetros Name y Value para especificar la propiedad y su nuevo valor. Este comando es equivalente a utilizar el parámetro InputObject para especificar el objeto que Get-ChildItem obtiene.
Vea también