Partilhar via


Set-ItemProperty

Cria ou altera o valor de uma propriedade de um item.

Sintaxe

propertyValuePathSet (Default) - All providers

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

propertyPSObjectPathSet - All providers

Set-ItemProperty
    [-Path] <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyValueLiteralPathSet - All providers

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

propertyPSObjectLiteralPathSet - All providers

Set-ItemProperty
    -LiteralPath <string[]>
    -InputObject <psobject>
    [-PassThru]
    [-Force]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

propertyValuePathSet (Default) - Registry provider

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

propertyPSObjectPathSet - Registry provider

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

propertyValueLiteralPathSet - Registry provider

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

propertyPSObjectLiteralPathSet - Registry provider

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

Description

O cmdlet Set-ItemProperty altera o valor da propriedade do item especificado. Você pode usar o cmdlet para estabelecer ou alterar as propriedades dos itens. Por exemplo, você pode usar Set-ItemProperty para definir o valor da propriedade IsReadOnly de um objeto de arquivo como $true.

Você também usa Set-ItemProperty para criar e alterar valores e dados do Registro. Por exemplo, você pode adicionar uma nova entrada do Registro a uma chave e estabelecer ou alterar seu valor.

Exemplos

Exemplo 1: Definir uma propriedade de um arquivo

Este comando define o valor da propriedade IsReadOnly do arquivo "final.doc" como "true". Ele usa Path para especificar o arquivo, Name para especificar o nome da propriedade e o parâmetro Value para especificar o novo valor.

O arquivo é um objeto System.IO.FileInfo e IsReadOnly é apenas uma de suas propriedades. Para ver todas as propriedades, digite Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

A variável automática $true representa um valor de "TRUE". Para obter mais informações, consulte sobre_Variáveis_Automáticas.

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

Exemplo 2: Criar uma entrada e um valor do Registro

Este exemplo mostra como usar Set-ItemProperty para criar uma nova entrada do Registro e atribuir um valor à entrada. Ele cria a entrada "NoOfEmployees" na chave "ContosoCompany" na chave HKLM\Software e define seu valor como 823.

Como as entradas do Registro são consideradas propriedades das chaves do Registro, que são itens, use Set-ItemProperty para criar entradas do Registro e para estabelecer e alterar seus 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

O primeiro comando cria a entrada do Registro. Ele usa de caminho para especificar o caminho da unidade de HKLM: e a chave Software\MyCompany. O comando usa Name para especificar o nome da entrada e Value para especificar um valor.

O segundo comando usa o cmdlet Get-ItemProperty para ver a nova entrada do Registro. Se você usar os cmdlets Get-Item ou Get-ChildItem, as entradas não aparecerão porque são propriedades de uma chave, não itens ou itens filho.

O terceiro comando altera o valor da entrada NoOfEmployees para 824.

Você também pode usar o cmdlet New-ItemProperty para criar a entrada do Registro e seu valor e, em seguida, usar Set-ItemProperty para alterar o valor.

Para obter mais informações sobre a unidade HKLM:, digite Get-Help Get-PSDrive. Para obter mais informações sobre como usar o PowerShell para gerenciar o registro, digite Get-Help Registry.

Exemplo 3: Modificar um item usando o pipeline

O exemplo usa Get-ChildItem para obter o arquivo weekly.txt. O objeto de arquivo é canalizado para Set-ItemProperty. O comando Set-ItemProperty usa os parâmetros Name e Value para especificar a propriedade e seu novo valor.

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

Parâmetros

-Confirm

Solicita confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

Observação

Esse parâmetro não é suportado por nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:Current user
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Exclude

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui na operação. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt. Caracteres coringa são permitidos. O parâmetro Exclude só é efetivo quando o comando inclui o conteúdo de um item, como C:\Windows\*, onde o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Filter

Especifica um filtro para qualificar o parâmetro Path. O provedor FileSystem é o único provedor do PowerShell instalado que oferece suporte ao uso de filtros. A sintaxe da linguagem de filtro do FileSystem pode ser encontrada em about_Wildcards. Os filtros são mais eficientes do que outros parâmetros, porque o provedor os aplica quando o cmdlet obtém os objetos em vez de fazer com que o PowerShell filtre os objetos depois que eles são recuperados.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Force

Força o cmdlet a definir uma propriedade em itens que não podem ser acessados pelo usuário de outra forma. A implementação varia de acordo com o fornecedor. Para obter mais informações, consulte about_Providers.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Include

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet inclui na operação. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como "*.txt". Caracteres coringa são permitidos. O parâmetro Include só é efetivo quando o comando inclui o conteúdo de um item, como C:\Windows\*, onde o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-InputObject

Especifica o objeto que tem as propriedades que esse cmdlet altera. Insira uma variável que contenha o objeto ou um comando que obtenha o objeto.

Propriedades dos parâmetros

Tipo:PSObject
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

propertyPSObjectPathSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
propertyPSObjectLiteralPathSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-LiteralPath

Especifica um caminho para um ou mais locais. O valor de LiteralPath é utilizado exatamente como foi escrito. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.

Para obter mais informações, consulte about_Quoting_Rules.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:PSPath, LP

Conjuntos de parâmetros

propertyValueLiteralPathSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
propertyPSObjectLiteralPathSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Name

Especifica o nome da propriedade.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:PSProperty

Conjuntos de parâmetros

propertyValuePathSet
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
propertyValueLiteralPathSet
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-PassThru

Devolve um objeto que representa a propriedade do item. Por padrão, esse cmdlet não gera nenhuma saída.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Path

Especifica o caminho dos itens com a propriedade a ser modificada. Caracteres coringa são permitidos.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

propertyValuePathSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
propertyPSObjectPathSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Type

Este é um parâmetro dinâmico disponibilizado pelo provedor Registry. O fornecedor de do Registo e este parâmetro só estão disponíveis no Windows.

Especifica o tipo de propriedade que esse cmdlet adiciona. Os valores aceitáveis para este parâmetro são:

  • String: Especifica uma cadeia de caracteres terminada em nulo. Usado para REG_SZ valores.
  • ExpandString: Especifica uma cadeia de caracteres terminada em nulo que contém referências não expandidas a variáveis de ambiente que são expandidas quando o valor é recuperado. Usado para valores REG_EXPAND_SZ.
  • Binary: Especifica dados binários em qualquer formato. Valores usados para REG_BINARY.
  • DWord: Especifica um número binário de 32 bits. Usado para valores REG_DWORD.
  • MultiString: Especifica uma matriz de cadeias de caracteres terminadas em nulo terminadas por dois caracteres nulos. Usado para valores de REG_MULTI_SZ.
  • Qword: Especifica um número binário de 64 bits. Usado para REG_QWORD valores.
  • Unknown: Indica um tipo de dados do Registro sem suporte, como valores REG_RESOURCE_LIST.

Propriedades dos parâmetros

Tipo:RegistryValueKind
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Value

Especifica o valor da propriedade.

Propriedades dos parâmetros

Tipo:Object
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

propertyValuePathSet
Position:2
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
propertyValueLiteralPathSet
Position:2
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

PSObject

Você pode canalizar objetos para este cmdlet.

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

PSCustomObject

Quando você usa o parâmetro PassThru, esse cmdlet retorna um objeto PSCustomObject que representa o item que foi alterado e seu novo valor de propriedade.

Notas

O PowerShell inclui os seguintes aliases para Set-ItemProperty:

  • Todas as plataformas:
    • sp

Set-ItemProperty é projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite Get-PSProvider. Para obter mais informações, consulte about_Providers.