Set-ItemProperty
Skapar eller ändrar värdet för en egenskap för ett objekt.
Syntax
Set-ItemProperty
[-Path] <string[]>
[-Name] <string>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Path] <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <string[]>
-InputObject <psobject>
[-PassThru]
[-Force]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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
[-Name] <string>
[-Value] <Object>
-LiteralPath <string[]>
[-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
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 till $True
.
Du kan också använda 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 Sökväg 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". Mer information finns i 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
nyckeln och anger värdet till 823.
Eftersom registerposter anses vara egenskaper för registernycklarna, som är objekt, använder Set-ItemProperty
du 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 Sökväg för att ange sökvägen till HKLM:
enheten och Software\MyCompany
nyckeln.
Kommandot använder Name för att ange postnamnet och Värdet 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 Get-Item
cmdletarna 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-posten 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 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
I det här exemplet används Get-ChildItem
för att hämta weekly.txt
filen. Filobjektet skickas till Set-ItemProperty
. Kommandot Set-ItemProperty
använder parametrarna Namn och Värde 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.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Anteckning
Den här parametern stöds inte av några providers 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.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet 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 Exkludera gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*
, där jokertecknet anger innehållet i C:\Windows
katalogen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-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 filterspråket FileSystem i about_Wildcards. Filter är mer effektiva ä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 efter att de har hämtats.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Tvingar cmdleten att ange en egenskap för objekt som inte kan nås av användaren på annat sätt. Implementeringen varierar beroende på leverantör. Mer information finns i about_Providers.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet 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 C:\Windows
katalogen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
Anger det objekt som har de egenskaper som denna cmdlet ändrar. Ange en variabel som innehåller objektet eller ett kommando som hämtar objektet.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken talar om för PowerShell att inga tecken ska tolkas som escape-sekvenser.
Mer information finns i about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Anger namnet på egenskapen.
Type: | String |
Aliases: | PSProperty |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Returnerar ett objekt som representerar objektegenskapen. Som standard genererar denna cmdlet inga utdata.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Anger sökvägen till objekten med egenskapen som ska ändras. Jokertecken tillåts.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Type
Det här är en dynamisk parameter som görs tillgänglig av registerprovidern. Registerprovidern 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 acceptabla 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 oexpanderade referenser till miljövariabler som expanderas när värdet hämtas. Används för REG_EXPAND_SZ värden.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. Används för REG_MULTI_SZ värden.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.
Type: | RegistryValueKind |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
Anger värdet för egenskapen .
Type: | Object |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka objekt till den här cmdleten.
Utdata
None
Som standard returnerar denna cmdlet inga utdata.
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 utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över de providrar som är tillgängliga i sessionen skriver du Get-PSProvider
. Mer information finns i about_Providers.