Dela via


Set-ItemProperty

Skapar eller ändrar värdet för en egenskap för ett objekt.

Syntax

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

Cmdleten Set-ItemProperty ändrar värdet för egenskapen för det angivna objektet. Du kan använda cmdleten för att upprätta eller ändra egenskaperna för objekt. Du kan till exempel använda Set-ItemProperty för att ange värdet för egenskapen IsReadOnly för ett filobjekt för att $true.

Du använder också Set-ItemProperty för att skapa och ändra registervärden och data. Du kan till exempel lägga till en ny registerpost i en nyckel och upprätta eller ändra dess värde.

Exempel

Exempel 1: Ange en egenskap för en fil

Det här kommandot anger värdet för egenskapen IsReadOnly för filen "final.doc" till "true". Den använder Path för att ange filen, Namn för att ange namnet på egenskapen och parametern Value för att ange det nya värdet.

Filen är ett System.IO.FileInfo-objekt och IsReadOnly är bara en av dess egenskaper. Om du vill se alla egenskaper skriver du Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

Den $true automatiska variabeln representerar värdet "TRUE". För mer information, se about_Automatic_Variables.

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

Exempel 2: Skapa en registerpost och ett värde

Det här exemplet visar hur du använder Set-ItemProperty för att skapa en ny registerpost och tilldela posten ett värde. Den skapar posten "NoOfEmployees" i nyckeln "ContosoCompany" i HKLM\Software nyckel och anger värdet till 823.

Eftersom registerposter anses vara egenskaper för registernycklarna, som är objekt, använder du Set-ItemProperty för att skapa registerposter och för att upprätta och ändra deras värden.

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

Det första kommandot skapar registerposten. Den använder Path för att ange sökvägen för den HKLM: enheten och Software\MyCompany-nyckeln. Kommandot använder Namn för att ange postnamnet och Värde för att ange ett värde.

Det andra kommandot använder cmdleten Get-ItemProperty för att se den nya registerposten. Om du använder cmdletarna Get-Item eller Get-ChildItem visas inte posterna eftersom de är egenskaper för en nyckel, inte objekt eller underordnade objekt.

Det tredje kommandot ändrar värdet för NoOfEmployees post till 824.

Du kan också använda cmdleten New-ItemProperty för att skapa registerposten och dess värde och sedan använda Set-ItemProperty för att ändra värdet.

Om du vill ha mer information om den HKLM: enheten skriver du Get-Help Get-PSDrive. Om du vill ha mer information om hur du använder PowerShell för att hantera registret skriver du Get-Help Registry.

Exempel 3: Ändra ett objekt med hjälp av pipelinen

Det här exemplet använder Get-ChildItem för att hämta filen weekly.txt. Filobjektet skickas till Set-ItemProperty. Kommandot Set-ItemProperty använder parametrarna Name och Value för att ange egenskapen och dess nya värde.

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

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anmärkning

Den här parametern stöds inte av några leverantörer som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.

Parameteregenskaper

Typ:PSCredential
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Exclude

Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten exkluderar i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel *.txt. Jokertecken tillåts. Parametern Exclude gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i katalogen C:\Windows.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Filter

Anger ett filter för att kvalificera parametern Path. FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Du hittar syntaxen för FileSystem filterspråk i about_Wildcards. Filter är effektivare än andra parametrar eftersom providern tillämpar dem när cmdleten hämtar objekten i stället för att Låta PowerShell filtrera objekten när de har hämtats.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Force

Tvingar cmdleten att ange en egenskap för objekt som annars inte kan nås av användaren. Implementeringen varierar beroende på leverantör. Mer information finns i om_Leverantörer.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Include

Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel "*.txt". Jokertecken tillåts. Parametern Include gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i katalogen C:\Windows.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InputObject

Anger det objekt som har de egenskaper som den här cmdleten ändrar. Ange en variabel som innehåller objektet eller ett kommando som hämtar objektet.

Parameteregenskaper

Typ:PSObject
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

propertyPSObjectPathSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
propertyPSObjectLiteralPathSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-LiteralPath

Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt som det skrivs. Inga tecken tolkas som wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Mer information finns i about_Quoting_Rules.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PSPath, SP

Parameteruppsättningar

propertyValueLiteralPathSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
propertyPSObjectLiteralPathSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Name

Anger namnet på egenskapen.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PSProperty

Parameteruppsättningar

propertyValuePathSet
Position:1
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
propertyValueLiteralPathSet
Position:1
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-PassThru

Returnerar ett objekt som representerar objektegenskapen. Som standard genererar den här cmdleten inga utdata.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Path

Anger sökvägen till objekten med egenskapen som ska ändras. Jokertecken tillåts.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

propertyValuePathSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
propertyPSObjectPathSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Type

Det här är en dynamisk parameter som görs tillgänglig av providern Registry. Providern Registry och den här parametern är endast tillgängliga i Windows.

Anger vilken typ av egenskap som den här cmdleten lägger till. De godtagbara värdena för den här parametern är:

  • String: Anger en null-avslutad sträng. Används för REG_SZ värden.
  • ExpandString: Anger en null-avslutad sträng som innehåller oexpandererade referenser till miljövariabler som expanderas när värdet hämtas. Används för värden av typen REG_EXPAND_SZ.
  • Binary: Anger binära data i valfri form. Används för REG_BINARY värden.
  • DWord: Anger ett 32-bitars binärt tal. Används för REG_DWORD värden.
  • MultiString: Anger en matris med null-avslutade strängar som avslutas med två null-tecken. För värden av typen REG_MULTI_SZ använder man .
  • Qword: Anger ett 64-bitars binärt tal. Används för REG_QWORD-värden.
  • Unknown: Anger en registerdatatyp som inte stöds, till exempel REG_RESOURCE_LIST värden.

Parameteregenskaper

Typ:RegistryValueKind
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Value

Anger värdet för egenskapen.

Parameteregenskaper

Typ:Object
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

propertyValuePathSet
Position:2
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
propertyValueLiteralPathSet
Position:2
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

PSObject

Du kan skicka objekt till den här cmdleten.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

PSCustomObject

När du använder parametern PassThru returnerar den här cmdleten ett PSCustomObject- objekt som representerar objektet som ändrades och dess nya egenskapsvärde.

Kommentarer

PowerShell innehåller följande alias för Set-ItemProperty:

  • Alla plattformar:
    • sp

Set-ItemProperty är utformat för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver du Get-PSProvider. Mer information finns i om_Leverantörer.