Delen via


Set-ItemProperty

Hiermee maakt of wijzigt u de waarde van een eigenschap van een item.

Syntaxis

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

De cmdlet Set-ItemProperty wijzigt de waarde van de eigenschap van het opgegeven item. U kunt de cmdlet gebruiken om de eigenschappen van items vast te stellen of te wijzigen. U kunt bijvoorbeeld Set-ItemProperty gebruiken om de waarde van de eigenschap IsReadOnly- van een bestandsobject in te stellen op $true.

U gebruikt ook Set-ItemProperty om registerwaarden en -gegevens te maken en te wijzigen. U kunt bijvoorbeeld een nieuwe registervermelding toevoegen aan een sleutel en de waarde ervan vaststellen of wijzigen.

Voorbeelden

Voorbeeld 1: Een eigenschap van een bestand instellen

Met deze opdracht wordt de waarde van de eigenschap IsReadOnly van het bestand 'final.doc' ingesteld op 'true'. Er wordt pad gebruikt om het bestand op te geven, naam om de naam van de eigenschap op te geven en de parameter waarde om de nieuwe waarde op te geven.

Het bestand is een System.IO.FileInfo object en IsReadOnly is slechts een van de eigenschappen. Als u alle eigenschappen wilt zien, typt u Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property.

De $true automatische variabele vertegenwoordigt een waarde van 'TRUE'. Voor meer informatie, zie about_Automatic_Variables.

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

Voorbeeld 2: Een registervermelding en -waarde maken

In dit voorbeeld ziet u hoe u Set-ItemProperty gebruikt om een nieuwe registervermelding te maken en een waarde toe te wijzen aan de vermelding. Hiermee wordt de vermelding NoOfEmployees gemaakt in de sleutel ContosoCompany in HKLM\Software sleutel en wordt de waarde ingesteld op 823.

Omdat registervermeldingen worden beschouwd als eigenschappen van de registersleutels, die items zijn, gebruikt u Set-ItemProperty om registervermeldingen te maken en hun waarden vast te stellen en te wijzigen.

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

Met de eerste opdracht wordt de registervermelding gemaakt. Hierbij wordt pad gebruikt om het pad van het HKLM: station en de Software\MyCompany-sleutel op te geven. De opdracht gebruikt naam om de naam van de vermelding en waarde op te geven om een waarde op te geven.

De tweede opdracht maakt gebruik van de Get-ItemProperty cmdlet om de nieuwe registervermelding te zien. Als u de Get-Item of Get-ChildItem cmdlets gebruikt, worden de vermeldingen niet weergegeven omdat het eigenschappen zijn van een sleutel, niet items of onderliggende items.

De derde opdracht wijzigt de waarde van de NoOfEmployees vermelding in 824.

U kunt ook de cmdlet New-ItemProperty gebruiken om de registervermelding en de bijbehorende waarde te maken en vervolgens Set-ItemProperty gebruiken om de waarde te wijzigen.

Typ HKLM:voor meer informatie over het station Get-Help Get-PSDrive. Typ Get-Help Registryvoor meer informatie over het gebruik van PowerShell om het register te beheren.

Voorbeeld 3: Een item wijzigen met behulp van de pijplijn

In dit voorbeeld wordt Get-ChildItem gebruikt om het weekly.txt-bestand op te halen. Het bestandsobject wordt doorgesluisd naar Set-ItemProperty. De opdracht Set-ItemProperty maakt gebruik van de parameters Name en Value om de eigenschap en de nieuwe waarde op te geven.

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

Parameters

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Credential

Opmerking

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command-.

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Exclude

Hiermee specificeert u, als een tekenreeks, één of meerdere items die door deze cmdlet worden uitgesloten van de bewerking. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Uitsluiten is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Filter

Hiermee geeft u een filter op om de parameter Path te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die het gebruik van filters ondersteunt. U kunt de syntaxis voor de FileSystem filtertaal vinden in about_Wildcards. Filters zijn efficiënter dan andere parameters, omdat de provider deze toepast wanneer de cmdlet de objecten ophaalt in plaats van PowerShell de objecten te filteren nadat ze zijn opgehaald.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Force

Hiermee dwingt u af dat de cmdlet een eigenschap instelt voor items die anders niet kunnen worden geopend door de gebruiker. De implementatie verschilt per provider. Zie about_Providersvoor meer informatie.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Include

Hiermee specificeert u, in de vorm van een tekenreeksarray, een item of items die deze cmdlet bij de bewerking betrekt. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of patroon in, zoals "*.txt". Jokertekens zijn toegestaan. De parameter Opnemen is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-InputObject

Hiermee geeft u het object met de eigenschappen die door deze cmdlet worden gewijzigd. Voer een variabele in die het object of een opdracht bevat waarmee het object wordt opgehaald.

Parametereigenschappen

Type:PSObject
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

propertyPSObjectPathSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
propertyPSObjectLiteralPathSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-LiteralPath

Specificeert een pad naar een of meer locaties. De waarde van LiteralPath- wordt exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.

Zie about_Quoting_Rulesvoor meer informatie.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PSPath, LP

Parametersets

propertyValueLiteralPathSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
propertyPSObjectLiteralPathSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Name

Hiermee geeft u de naam van de eigenschap.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PSProperty

Parametersets

propertyValuePathSet
Position:1
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
propertyValueLiteralPathSet
Position:1
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-PassThru

Retourneert een object dat de itemeigenschap vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Path

Hiermee geeft u het pad van de items met de eigenschap die moet worden gewijzigd. Jokertekens zijn toegestaan.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

propertyValuePathSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
propertyPSObjectPathSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Type

Dit is een dynamische parameter die beschikbaar wordt gesteld door de Registry provider. De Register--provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u het type eigenschap op dat door deze cmdlet wordt toegevoegd. De acceptabele waarden voor deze parameter zijn:

  • String: hiermee geeft u een tekenreeks met null-beëindiging op. Wordt gebruikt voor REG_SZ waarden.
  • ExpandString: hiermee geeft u een tekenreeks met null-beëindiging op die niet-uitgevouwen verwijzingen bevat naar omgevingsvariabelen die worden uitgevouwen wanneer de waarde wordt opgehaald. Wordt gebruikt voor REG_EXPAND_SZ waarden.
  • Binary: hiermee geeft u binaire gegevens in elke vorm op. Wordt gebruikt voor REG_BINARY waarden.
  • DWord: hiermee geeft u een 32-bits binair getal op. Wordt gebruikt voor REG_DWORD waarden.
  • MultiString: Hiermee specificeert u een array van null-beëindigde tekenreeksen, afgesloten met twee null-tekens. Wordt gebruikt voor REG_MULTI_SZ waarden.
  • Qword: hiermee geeft u een 64-bits binair getal op. Wordt gebruikt voor REG_QWORD waarden.
  • Unknown: geeft een niet-ondersteund registergegevenstype aan, zoals REG_RESOURCE_LIST waarden.

Parametereigenschappen

Type:RegistryValueKind
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Value

Hiermee geeft u de waarde van de eigenschap.

Parametereigenschappen

Type:Object
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

propertyValuePathSet
Position:2
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
propertyValueLiteralPathSet
Position:2
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

PSObject

U kunt objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

PSCustomObject

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een PSCustomObject object dat het item vertegenwoordigt dat is gewijzigd en de nieuwe eigenschapswaarde.

Notities

PowerShell bevat de volgende aliassen voor Set-ItemProperty:

  • Alle platforms:
    • sp

Set-ItemProperty is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PSProvider. Zie about_Providersvoor meer informatie.