Delen via


Set-ItemProperty

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

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

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

U gebruikt Set-ItemProperty ook 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'. Pad wordt gebruikt om het bestand op te geven, naam om de naam van de eigenschap op te geven en de waardeparameter 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 de waarde 'TRUE'. Zie about_Automatic_Variables voor meer informatie.

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

Voorbeeld 2: een registervermelding en -waarde Creatie

In dit voorbeeld ziet u hoe u Set-ItemProperty een nieuwe registervermelding maakt en een waarde aan de vermelding toewijst. Hiermee wordt de vermelding 'NoOfEmployees' gemaakt in de sleutel 'ContosoCompany' in HKLM\Software sleutel en wordt de waarde ervan ingesteld op 823.

Omdat registervermeldingen worden beschouwd als eigenschappen van de registersleutels( dit zijn items), gebruikt Set-ItemProperty u om registervermeldingen te maken en om 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. Pad wordt gebruikt om het pad van het HKLM: station en de Software\MyCompany sleutel op te geven. De opdracht gebruikt Naam om de vermeldingsnaam en Waarde op te geven om een waarde op te geven.

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

Met de derde opdracht wordt de waarde van de vermelding NoOfEmployees gewijzigd in 824.

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

Voor meer informatie over het HKLM: station, typt Get-Help Get-PSDriveu . Typ voor meer informatie over het gebruik van PowerShell om het register Get-Help Registryte beheren.

Voorbeeld 3: Een item wijzigen met behulp van de pijplijn

Het voorbeeld gebruikt Get-ChildItem om het weekly.txt bestand op te halen. Het bestandsobject wordt doorgesluisd naar Set-ItemProperty. De Set-ItemProperty opdracht gebruikt de parameters Naam en Waarde om de eigenschap en de nieuwe waarde op te geven.

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

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Credential

Notitie

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

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

-Exclude

Hiermee geeft u, als een tekenreeksmatrix, een item of items op die door deze cmdlet worden uitgesloten in de bewerking. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Exclude 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.

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

-Filter

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

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

-Force

Hiermee dwingt u de cmdlet om een eigenschap in te stellen voor items die anders niet door de gebruiker kunnen worden geopend. De implementatie verschilt per provider. Zie about_Providers voor meer informatie.

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

-Include

Hiermee geeft u, als een tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking opneemt. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals "*.txt". Jokertekens zijn toegestaan. De parameter Include 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.

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

-InputObject

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

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

-LiteralPath

Hiermee geeft u een pad naar een of meer locaties. De waarde van LiteralPath wordt precies gebruikt zoals deze wordt getypt. Geen tekens worden geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat geen tekens als escape-reeksen worden geïnterpreteerd.

Zie about_Quoting_Rules voor meer informatie.

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

-Name

Hiermee geeft u de naam van de eigenschap.

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

-PassThru

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

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

-Path

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

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

-Type

Dit is een dynamische parameter die beschikbaar is gesteld door de registerprovider . De registerprovider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u het type eigenschap op dat deze cmdlet toevoegt. De aanvaardbare waarden voor deze parameter zijn:

  • String: hiermee geeft u een tekenreeks op die is beëindigd met null. Wordt gebruikt voor REG_SZ waarden.
  • ExpandString: hiermee geeft u een tekenreeks op die niet-uitgebreide verwijzingen naar omgevingsvariabelen bevat 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 geeft u een matrix op van tekenreeksen die zijn beëindigd 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.
Type:RegistryValueKind
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Hiermee geeft u de waarde van de eigenschap.

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Invoerwaarden

PSObject

U kunt objecten doorspezen 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 gewijzigde item en de nieuwe eigenschapswaarde vertegenwoordigt.

Notities

PowerShell bevat de volgende aliassen voor Set-ItemProperty:

  • Alle platformen:
    • 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_Providers voor meer informatie.