Compartir a través de


Set-Item

Cambia el valor de un elemento al valor especificado en el comando .

Sintaxis

Path (Default) - All providers

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

LiteralPath - All providers

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

Path (Default) - Alias and Function providers

Set-Item
    [-Path] <string[]>
    [[-Value] <Object>]
    [-Force]
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Options <ScopedItemOptions>]
    [<CommonParameters>]

LiteralPath - Alias and Function providers

Set-Item
    [[-Value] <Object>]
    -LiteralPath <string[]>
    [-Force]
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Options <ScopedItemOptions>]
    [<CommonParameters>]

Path (Default) - Registry provider

Set-Item
    [-Path] <string[]>
    [[-Value] <Object>]
    [-Force]
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Type <RegistryValueKind>]
    [<CommonParameters>]

LiteralPath - Registry provider

Set-Item
    [[-Value] <Object>]
    -LiteralPath <string[]>
    [-Force]
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-Type <RegistryValueKind>]
    [<CommonParameters>]

Description

El cmdlet Set-Item cambia el valor de un elemento, como una variable o clave del Registro, al valor especificado en el comando.

Ejemplos

Ejemplo 1: Creación de un alias

Este comando crea un alias de np para el Bloc de notas.

Set-Item -Path Alias:np -Value "C:\windows\notepad.exe"

Ejemplo 2: Cambiar el valor de una variable de entorno

Este comando cambia el valor de la variable de entorno UserRole a Administrator.

Set-Item -Path Env:UserRole -Value "Administrator"

Ejemplo 3: Modificación de la función prompt

Este comando cambia la función de la solicitud para que muestre la hora antes de la ruta de acceso.

Set-Item -Path Function:prompt -Value {
    'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
}

Ejemplo 4: Establecimiento de opciones para la función prompt

Este comando establece las opciones AllScope y ReadOnly para la función prompt. Este comando usa el parámetro dinámico Options de Set-Item. El parámetro Opciones solo está disponible en Set-Item cuando se usa con el proveedor Alias o Función.

Set-Item -Path Function:prompt -Options "AllScope,ReadOnly"

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:PSCredential
Valor predeterminado:Current user
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes: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 define el parámetro Path. Escriba un elemento de ruta o patrón, 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 directorio C:\Windows.

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

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

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Force

Obliga al cmdlet a establecer elementos que de lo contrario no se pueden cambiar, como alias o variables de solo lectura. El cmdlet no puede cambiar los alias o variables constantes. La implementación varía de proveedor a proveedor. Para obtener más información, consulte about_Providers. Incluso con el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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 define el parámetro Path. Escriba un elemento de ruta o patrón, 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 directorio C:\Windows.

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-LiteralPath

Especifica una ruta de acceso a una o varias ubicaciones. El valor de LiteralPath se usa tal como está escrito. Ninguno de los caracteres se interpreta 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, consulte sobre_las_normas_de_citación.

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:PSPath, LP

Conjuntos de parámetros

LiteralPath
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Options

Se trata de un parámetro dinámico puesto a disposición por los proveedores de Alias y Función. Para obtener más información, vea about_Alias_Provider y about_Function_Provider.

Especifica el valor de la propiedad Options de un alias.

Los valores válidos son:

  • None: el alias no tiene restricciones (valor predeterminado)
  • ReadOnly: el alias se puede eliminar, pero no se puede cambiar sin usar el parámetro Force
  • Constant: el alias no se puede eliminar ni cambiar.
  • Private: el alias solo está disponible en el ámbito actual.
  • AllScope: El alias se copia en todos los nuevos ámbitos que se creen.
  • Unspecified: no se especifica la opción

Propiedades del parámetro

Tipo:ScopedItemOptions
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-PassThru

Pasa un objeto que representa el elemento a la canalización. De forma predeterminada, este cmdlet no genera ninguna salida.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Path

Especifica una ruta hacia la ubicación de los elementos. Se permite el uso de caracteres comodín.

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

Path
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Type

Se trata de un parámetro dinámico que el proveedor del Registro 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 utiliza 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 utiliza para los valores REG_DWORD.
  • MultiString: Especifica una matriz de cadenas terminadas en nulo, finalizadas con dos caracteres nulos. Se utiliza para los valores de REG_MULTI_SZ.
  • Qword: especifica un número binario de 64 bits. Se utiliza para valores de REG_QWORD.
  • Unknown: indica un tipo de datos del Registro no admitido, como valores REG_RESOURCE_LIST.

Propiedades del parámetro

Tipo:RegistryValueKind
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Value

Especifica un nuevo valor para el elemento.

Propiedades del parámetro

Tipo:Object
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:1
Mandatory:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-WhatIf

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

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

Object

Puede canalizar un objeto que represente el nuevo valor del elemento a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

Object

Cuando se usa el parámetro passThru, este cmdlet devuelve un objeto que representa el elemento.

Notas

PowerShell incluye los siguientes alias para Set-Item:

  • Todas las plataformas:

    • si
  • Set-Item no es compatible con el proveedor FileSystem de PowerShell. Para cambiar los valores de los elementos del sistema de archivos, use el cmdlet Set-Content.

  • En las unidades de Registro, HKLM: and HKCU:, Set-Item cambia los datos del valor (Default) de una clave del Registro.

    • Para crear y cambiar los nombres de las claves del Registro, use el cmdlet New-Item y Rename-Item.
    • Para cambiar los nombres y los datos de los valores del registro, use los cmdlets New-ItemProperty, Set-ItemPropertyy Rename-ItemProperty.
  • Set-Item 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.