Share via


Set-ItemProperty

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

Syntax

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
   -LiteralPath <String[]>
   [-Name] <String>
   [-Value] <Object>
   [-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

O Set-ItemProperty cmdlet altera o valor da propriedade do item especificado. Você pode usar o cmdlet para estabelecer ou alterar as propriedades de 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 de registro a uma chave e estabelecer ou alterar seu valor.

Exemplos

Exemplo 1: Definir uma propriedade de um arquivo

Esse comando define o valor da propriedade IsReadOnly do arquivo "final.doc" como "true". Ele usa Path para especificar o arquivo, Nome 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 $true variável automática representa um valor de "TRUE". Para obter mais informações, confira about_Automatic_Variables.

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

Exemplo 2: Create 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 HKLM\Software chave e define seu valor como 823.

Como as entradas do Registro são consideradas propriedades das chaves do Registro, que são itens, você usa 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 Path para especificar o caminho da HKLM: unidade e da Software\MyCompany chave. O comando usa Name para especificar o nome da entrada e o Valor para especificar um valor.

O segundo comando usa o Get-ItemProperty cmdlet para ver a nova entrada do Registro. Se você usar os Get-Item cmdlets 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 New-ItemProperty cmdlet 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 HKLM: unidade, 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 weekly.txt arquivo. O objeto de arquivo é canalizado para Set-ItemProperty. O Set-ItemProperty comando 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 sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Observação

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Especifica um filtro para qualificar o parâmetro Path . O provedor FileSystem é o único provedor do PowerShell instalado que dá suporte ao uso de filtros. Você pode encontrar a sintaxe da linguagem de filtro FileSystem em about_Wildcards. Os filtros são mais eficientes do que outros parâmetros, pois 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

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

Type:PSObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Para obter mais informações, consulte about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica o nome da propriedade.

Type:String
Aliases:PSProperty
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Type

Type é um parâmetro dinâmico que o provedor do Registro adiciona ao Set-ItemProperty cmdlet . Esse parâmetro só funciona nas unidades do Registro.

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

  • String: especifica uma cadeia de caracteres terminada em nulo. Usado para valores de REG_SZ .
  • ExpandString: especifica uma cadeia de caracteres terminada em nulo que contém referências não explicadas a variáveis de ambiente que são expandidas quando o valor é recuperado. Usado para valores REG_EXPAND_SZ .
  • Binary: especifica dados binários de qualquer forma. Usado para valores de 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 REG_MULTI_SZ .
  • Qword: especifica um número binário de 64 bits. Usado para valores de REG_QWORD .
  • Unknown: indica um tipo de dados do Registro sem suporte, como valores de REG_RESOURCE_LIST .
Type:RegistryValueKind
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Especifica o valor da propriedade.

Type:Object
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSObject

Você pode redirecionar objetos para este cmdlet.

Saídas

None, System.Management.Automation.PSCustomObject

Esse cmdlet gera um objeto PSCustomObject que representa o item que foi alterado e seu novo valor de propriedade, se você especificar o parâmetro PassThru . Caso contrário, este cmdlet não gera nenhuma saída.

Observações

Set-ItemProperty foi 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.